All Projects โ†’ Nukesor โ†’ ultimate-poll-bot

Nukesor / ultimate-poll-bot

Licence: MIT license
๐Ÿ’ก The ultimate vote and poll bot for creating, sharing and evaluating polls inside of Telegram

Programming Languages

python
139335 projects - #7 most used programming language

Projects that are alternatives of or similar to ultimate-poll-bot

pollmommy
โญ๏ธ Hack your ๐Ÿ™ˆ vote out of ๐Ÿ“ˆ Polldaddy surveys - used by ๐Ÿ’ฐ BBC, Microsoft, Forbes, Pfizer, IBM
Stars: โœญ 31 (-71.56%)
Mutual labels:  voting, poll
Democracyos
Democracia en Red is focusing on specific implementations of DemocracyOS. We are working now working with governments and activists all over Latin America. If you are interested in our online participation tools you can check them out on our site.
Stars: โœญ 1,753 (+1508.26%)
Mutual labels:  voting, poll
easypoll-v3
EasyPoll Discord Bot | With EasyPoll, a Discord Poll Bot, you can easily create polls and your members can vote by clicking on a reaction very easily and quickly.
Stars: โœญ 35 (-67.89%)
Mutual labels:  voting, poll
Opensourcewebsite Org
OpenSourceWebsite (OSW) - online community managed by users using electronic voting and modifying source code
Stars: โœญ 834 (+665.14%)
Mutual labels:  telegram-bot, voting
Gh Polls
These polls work by pasting individual markdown SVG images into your issue, each wrapped with a link that tracks a vote. A single vote per IP is allowed for a given poll, which are stored in DynamoDB.
Stars: โœญ 1,726 (+1483.49%)
Mutual labels:  voting, poll
Mat-O-Wahl
๐Ÿ‡ฉ๐Ÿ‡ช Mat-O-Wahl - Ein einfach zu bedienender, freier Open Source Wahl-O-Mat Klon fuer jedermann ### ๐Ÿ‡ฌ๐Ÿ‡ง ๐Ÿ‡บ๐Ÿ‡ธ A simple to handle, free "Voting Advice Application" / "Electoral Compass" alternative
Stars: โœญ 27 (-75.23%)
Mutual labels:  voting, voting-application
Bybit-Auto-Trading-Bot-Ordes-placed-via-TradingView-Webhook
Python based Trading Bot that uses TradingView.com webhook JSON alerts to place orders(buy/sell/close/manage positions/TP/SL/TS etc.) on Bybit.com. Hire me directly here https://www.freelancer.com/u/Beannsofts for any assistance
Stars: โœญ 235 (+115.6%)
Mutual labels:  telegram-bot
yt2audiobot
Telegram bot for converting YouTube videos to mp3
Stars: โœญ 26 (-76.15%)
Mutual labels:  telegram-bot
smsq
Receive your SMS messages in Telegram
Stars: โœญ 48 (-55.96%)
Mutual labels:  telegram-bot
EnterpriseALRobot
An anime themed telegram group management bot
Stars: โœญ 134 (+22.94%)
Mutual labels:  management
Sophie
New repo - https://gitlab.com/SophieBot/sophie
Stars: โœญ 28 (-74.31%)
Mutual labels:  telegram-bot
engineering-management
A list of resources about Software Engineering Management
Stars: โœญ 31 (-71.56%)
Mutual labels:  management
telegram-bot-rpi-camera
Telegram bot for capturing images with Raspberry Pi camera module
Stars: โœญ 13 (-88.07%)
Mutual labels:  telegram-bot
Cloud-PAW-Management
Simplify PAW and SPA for the masses, unify the MS Internal, and public PAW specs, and expedite deployment to ~5min or less.
Stars: โœญ 45 (-58.72%)
Mutual labels:  management
proof-of-vote
Votem's Proof of Voteยฎ protocol whitepaper
Stars: โœญ 20 (-81.65%)
Mutual labels:  voting
trackrBot
A chatbot that helps you set price alerts for your amazon products.
Stars: โœญ 18 (-83.49%)
Mutual labels:  telegram-bot
atlink
๐Ÿ”— A telegram bot that turns @ links into instagram links both in private chats and groups. Source code for: https://youtu.be/jhFsFZXZbu4
Stars: โœญ 44 (-59.63%)
Mutual labels:  telegram-bot
tele-vdo-rider
Telegram bot to convert online videos to audio (mp3)
Stars: โœญ 17 (-84.4%)
Mutual labels:  telegram-bot
nosticker bot
Bot that fights telegram stickers
Stars: โœญ 18 (-83.49%)
Mutual labels:  telegram-bot
Youtube-Downloader-Bot
Youtube Downloader Telegram Bot ๐Ÿ˜‰
Stars: โœญ 269 (+146.79%)
Mutual labels:  telegram-bot

Ultimate Pollbot (@ultimate_pollbot)

MIT Licence

Alt Text

Deciding where you and your friends are going for lunch today can be a real hassle... Or, for instance, deciding which games should be played at the next LAN-Party.

Since no other telegram poll/vote bot offered the full feature set my friends and I needed, I decided to write the ULTIMATE pollbot. A bot which combines all good features of all existing bots and even stuff beyond that.

State of the project

The project is still actively maintained! However, I won't add any new features myself, since I'm very happy with the current state of the bot.

Anyway, if you come up with a cool idea, I'll happily discuss it and review your pull requests.

Check the official Trello board for the status of all requested features. There's also a list of regularly requested "won't implement" features.

Upcoming bugs will of course be fixed as fast as possible.

Features

The Ultimate Pollbot delivers a full set of well-tested and battle proven features. It's capable of handling hundreds of voters for a single poll, while offering a high customizability and a wide range of different poll types to choose from.

Here is a list of the most important features:

Poll types

This bot has 6 different vote modi. Each mode is useful for various scenarios. Choose wisely.

  • Single vote: User get a single vote to allot
  • Doodle: Users can vote with yes, no and maybe for each option.
  • Block vote: Users can vote without restriction, but only one vote per option.
  • Limited vote: Each user gets X votes for distribution, but only one vote per option.
  • Cumulative vote: Every user gets X votes they can distribute as they like.
  • Unlimited votes (Also called the shopping list): Every user can vote as often as they like, pretty much like a distributed shopping list.

Anonymity settings

Polls can be configured to be anonymous, with the result that names of users are not visible. Polls can be made anonymous subsequently, but as soon as a poll is anonymous it stays that way forever!

Further it's possible to hide the results of the poll until it gets closed. As soon as such a poll is closed, the results will be visible. Beware!: such a poll cannot be reopened.

Poll Management

  • Addition and removal of options
  • Allow other users to add new options
  • Polls can be closed
  • Polls can be reopened unless the poll is configured to hide the results until it has been closed.
  • Polls can be completely deleted, which means that all non-forwarded occurrences of the poll will be removed.
  • Polls can be reseted (Delete all votes). Poll needs to be closed first
  • Polls can be cloned (New poll with same options, but without votes). Poll needs to be closed first

Misc

  • Internationalization
  • Polls sync between groups in real time.
  • Polls can be shared via link. This allows other users to spread the poll to arbitrary groups.
  • A date picker for easier creation of poll options
  • Specify a due date, at which the poll will be automatically closed.
  • Activate notifications in chats to notify users that the poll will close soon.

Sorting and Appearance

  • Results can be displayed in a detailed or summarized manner.
  • The percentage bar in the vote message can be disabled.
  • The bot allows to configure the sorting of the option list and the user list for each option.
  • Users can be sorted by vote date or username. Options can be sorted by highest percentage, name or by the order they've been added.

Project Status

The project is still actively maintained. However, since my focus shifted to other projects, I most likely won't add new features myself.
I'll still discuss and accept new feature requests and review feature PR's. Happy coding ;)

Acknowledgements

Packaging status Thanks to Sentry for providing the project with a sponsored plan (which has super generous quotas!).

Thanks to Lokalise for providing my projects with a free license for open-source development!

Thanks to the Turkish translator:

Thanks to the Polish translator:

Thanks to all Italian translators:

Thanks to all Spanish translators:

Thanks to all Brazilian Portuguese translators:

Thanks to all German translators:

Thanks to the Catalan translator:

Thanks to the Czech translator:

  • Ignac (IgnacRR)

Commands

/start          Start the bot
/settings       Open the user settings menu
/create         Create a new poll
/list           List all active polls and manage them
/list_closed    List all closed polls and manage them
/notify         Activate notifications in a external chats
/help           Display the help

Installation and Starting

Dependencies:

  • Poetry to manage and install dependencies.
  • Ultimate Pollbot uses Postgres. Make sure the user has write/read rights. You can use the provided docker-compose file to set up a local development environment.
  1. Clone the repository:
git clone [email protected]:nukesor/ultimate-poll-bot pollbot && cd pollbot
  1. Execute poetry install to install all dependencies.
  2. Either start the poll bot once with poetry run python main.py or copy the pollbot.toml manually to ~/.config /pollbot.toml and adjust all necessary values. On Windows, the tilde (~) will substitute to your home directory , usually at C:\Users\your.name\.config\pollbot.toml.
  3. Run poetry run python initdb.py to initialize the database (or recreate it, if necessary).
  4. Start the bot by running poetry run python main.py.
  5. If you plan to keep your database schema up-to-date, you need to set the current alembic revision manually with poetry run alembic stamp head.
  6. Double-check if you are on the right revision (head) with poetry run alembic current and comparing it to poetry run alembic history.

Upgrading the Database

If you did Step 7 in the previous section, this is how you upgrade

  1. Stop the bot
  2. git pull
  3. poetry run alembic upgrade head to run migrations on your database
  4. Start the bot
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].