Customizable and robust Discord bot created to handle polls with user submission. Written in Python, powered by Discord.py and MongoDB.
Features:
- Create and manage multiple polls.
- Automatic vote counting, vote management, and customizable per-user vote limits.
- Create an entire poll with
createpoll, or let users submit poll options with+newpoll - Users can submit poll options, and per-user submission limits can be configured.
- Automatic generation of poll using guild’s emoji.
- Easy to use reaction-based interface.
- Configurable member role to control who can place poll submissions and vote on polls.
- Toggle manager permissions for non-admins to create and manage polls.
Upcoming:
- Managers can remove other user’s submissions.
How to Use:
Normal Use:
- Create your poll with the command
+newpoll <poll name> <option 1> ... <option n>(inputs are separated by quotes).- example:
+createpoll "Favorite Color" "Red" "Green" "Blue" - optional: set the amount of votes users can cast with
+setvotelimit <vote limit>, default is 1 vote per user.
- example:
- Once votes are cast, use the command
+closepollto end voting and output the poll results.
With User Submission:
- Create and name your poll with
+newpoll groupinput <poll name>.- optional: use
+setsubmitlimit <limit>and/or+setvotelimit <limit>to control how many times users can submit to and vote on the created poll.
- optional: use
- Users can now submit poll options with
+submit <submission>. - Once submissions are received, generate and open the poll to voting with
+openpoll - Once all votes are cast, use
+closepollto end voting and output the poll results. - Now use
+deletepollto delete the closed poll.- optional: rather than delete the poll, you can instead continue submissions of poll options and/or do another round of vote collecting later.
- optional: rather than delete the poll, you can instead continue submissions of poll options and/or do another round of vote collecting later.
Commands:
Group Poll:
Member Commands:
submit <submission>- Submit your choice for the current poll.unsubmit- Remove your submission from the current poll.submissions- List current poll submissions.
Admin/Manager Commands:
newpoll <poll name> <option 1> ... <option n>- Create a new poll from a list of options.newpoll groupinput <poll name>- Create a new poll open to user submission.launchpoll– Launch a poll to begin vote collection.closepoll– Close poll and count votes.deletepoll– Delete closed poll.renamepoll <poll name>- Rename the current poll.setrole <role name>- Set the poll member role.unsetrole- Unsets poll member role.submitlimit <limit>- Set limit on submissions per user to a single poll.votelimit <limit>- Set limit on votes per user on a single poll.togglemanager <member>- Toggle manager permissions for a user.
Misc:
guide- Links to the how-to-use webpage.help- Display list of commands.help <command>- Get info about a particular command.ping- Display current ping.