ObsidianIRC polls spec: Difference between revisions

From H4KS
Jump to navigationJump to search
Created page with "=ObsidianIRC IRCv3 Extension Specification for Polls= ==Introduction== This document describes the ObsidianIRC vendored spec for implementing polls within IRC channels. This specification includes extension capabilities, message formats, and relevant metadata to enable structured and interactive polling experiences. ==Overview== The polls extension is designed to allow clients and servers to facilitate poll creation, voting, and result display within IRC channels using..."
(No difference)

Revision as of 19:12, 31 August 2025

ObsidianIRC IRCv3 Extension Specification for Polls

Introduction

This document describes the ObsidianIRC vendored spec for implementing polls within IRC channels. This specification includes extension capabilities, message formats, and relevant metadata to enable structured and interactive polling experiences.

Overview

The polls extension is designed to allow clients and servers to facilitate poll creation, voting, and result display within IRC channels using standardized message formats and metadata. It extends the IRCv3 protocol, ensuring compatibility and extensibility.

Extension Capabilities

Capability Name
obsc-polls
Allows clients and servers to negotiate and activate polling features.

Message Formats

Poll Creation (PRIVMSG)

Format:

:client!user@host PRIVMSG #channel :/poll create "Question text" option1 option2 [option3 ...]

Description: Initiates a new poll with the specified question and options.

Vote Submission (PRIVMSG)

Format:

:client!user@host PRIVMSG #channel :/vote [poll''id] [option''number]

Description: Casts a vote for a specified option in a poll identified by pollid.

Poll Results (NOTICE or PRIVMSG)

Format:

:server HOST NOTICE #channel :Poll [poll''id] results: Option1: votes, Option2: votes...

Description: Reports the current results of an active poll.

Metadata Description

Poll ID

Unique identifier for each poll, assigned at creation.

Question

The poll question text.

Options

List of answer options, each assigned a number.

Votes

Number of votes per option.

Extensions and Metadata Capabilities

This spec supports the following extensions:

  • Real-time voting updates.
  • Persistent polls that retain state across sessions.
  • Poll expiration and time-based closure.

Implementation Notes

  • Clients should display poll questions and options clearly.
  • Voting commands should be validated to prevent multiple votes from the same user if restrictions apply.
  • Results should be updated dynamically as votes are cast.

Security and Privacy Considerations

The protocol should ensure user anonymity if required, and prevent vote manipulation through proper validation.

Conclusion

This IRCv3 spec for polls provides a comprehensive framework to build interactive and standardized polling mechanisms within IRC channels using ObsidianIRC extensions.

For further updates or contributions, refer to the project repository and community discussions.