1.9 KiB
uid, title
| uid | title |
|---|---|
| Guides.Polls | Polls |
Polls in Discord.Net
Polls are... Polls!
This guide will explain how to use polls in your applications.
Note
To get contents of polls sent by users other than your bot you need to enable
GatewayIntent.MessageContentintent.
Creating polls
A poll is part of a message; to send one you need to pass a PollProperties object into the poll parameter of any method that can be used to send messages. (ex. SendMessageAsync, RespondAsync, etc)
[!code-csharpCreating polls]
Warning
Due to limitations set by the Discord API, it's not possible to send both an attachment and a poll in the same message.
Note
It is not possible to modify polls after they are created.
Managing polls
Ending polls
You can end a poll early by calling EndPollAsync on an IUserMessage that has a poll.
[!code-csharpEnding polls]
Getting a poll answer's voters
To get voters for a specific answer call GetPollAnswerVotersAsync(answerId) on an IUserMessage with a poll.
[!code-csharpGetting poll answer voters]
Retrieving poll results
You can get results of a poll by simply getting an IUserMessage and checking the IUserMessage.Poll.Results property. Alternatively, you can check the results on a MessageUpdated gateway event.
Gateway events
Poll votes
You can receive information about poll votes live using following events:
PollVoteAddedPollVoteRemoved
Note
These events are only sent if the client has the
GatewayIntents.GuildMessagePollsorGatewayIntents.DirectMessagePollsintents enabled. It will receive events for polls in guild or DM channels respectively.
Poll expiry
On poll expiry the MessageUpdated event is fired.
