Poll Matrixbot (a.k.a. Lunchy) is your perfect Matrix bot for running polls with friends or teams — perfect for deciding lunch spots or anything else that needs a quick team decision.
- 🗳️ Create and manage polls directly from your Matrix room
- ➕ Add or remove items
- 🚫 Opt out of polls when you’re not joining
- 🔒 Close and reopen polls
- 📋 Check poll status anytime
- 🧰 Simple setup with Docker or Python
| Command | Description | Example |
|---|---|---|
!lunchy <name> |
Start a new poll | !lunchy Pizza Day |
!add <quantity>x <item> |
Add an item to the poll | !add 2x Pepperoni Pizza |
!remove <quantity>x <item> |
Remove an item from the poll | !remove 1x Garlic Bread |
!status |
Show all items currently in the poll | !status |
!nothing |
Mark that you’re not joining the poll | !nothing |
!close |
Close the active poll | !close |
!reopen |
Reopen the most recently closed poll | !reopen |
!releasenotes |
View the bot’s latest release notes | !releasenotes |
!help |
Display all available commands | !help |
- A Matrix account (Sign up at Matrix.org)
- Python 3.x
-
Clone the repository:
git clone https://github.com/bennocrafter/pollmatrixbot.git cd PollMatrixBot -
Build the Docker image:
docker-compose build- Start the bot in detached mode:
docker-compose up -d- Install required dependencies:
pip install -r requirements.txt- Run the main script:
python main.pyCreate a .env file in the project's root directory with the following environment variables:
HOMESERVER=your-matrix-homeserver
USERNAME=your-matrix-username
PASSWORD=your-matrix-password
ACCESS_TOKEN=your-matrix-access-tokenor have a look at .env.example
Use password or access token to authenticate
Configure other things in assets/config.yaml