Skip to content

A Telegram bot that helps you conduct daily (or at least regular) meetings

License

Notifications You must be signed in to change notification settings

team-work-tools/team-work-telegram-bot

Repository files navigation

Contributors Forks Issues MIT License


Daily Meeting Telegram Bot

Forks

A Telegram bot that helps you conduct daily (or at least regular) meetings.
Explore the docs »

Table of Contents
  1. About The Project
  2. Feature list
  3. Roadmap
  4. Demo
  5. Built With
  6. Usage
  7. Launch yout bot
  8. Contributing
  9. Develop
  10. License

About The Project

The bot is designed to solve problems that I encounter in life:

  • I have participated in too many projects that delivered less than they could have due to a lack of regular work from myself and my teammates.
  • I want a bot to remind me that I actually have to work on workdays.
  • I want everyone on my team to know each other's workdays.
  • In the morning, I don't care enough to ask my teammates about their progress, plans, and problems, so I want a bot to do that for me.
  • When I do care later, I can read through my teammates' messages and help them resolve their problems.

(back to top)

Feature list

  1. Create a meeting

    /set_meetings_time

    At the set time, the Bot will tag people who joined meetings who currently have working hours and ask daily questions.

  2. Set reminder period

    /set_reminder_period

    If the User has not answered all the daily questions, the Bot will send him a reminder in private messages when the reminder period has passed since the last time the questions were sent.

  3. Set personal working hours

    /set_working_hours

    Defines the time when the User participates in meetings.

  4. Chat language

    /set_language

    When the User sets a specific chat language, the Bot communicates only in the set language.

  5. Default and personal time zone

    /set_default_time_zone

    /set_personal_time_zone

    Affects the User's schedule and meetings time. If the User has not set personal working hours, the Bot uses the default one.

  6. Report for daily meeting

    Upon request, the User can receive a report on today's meeting.

  7. Personal prefix for daily meetings

    Allows the User to add a prefix that will be used during daily meetings.

  8. See overlapping working time for specific Users

    /get_overlapping_working_hours

    Allows the User to request working hours crossing times from chat members.

  9. Creating recurring message

    /add_recurring_message

    Allows the User to create a recurring message and set its title, start time, end time, sending frequency, and text content.

  10. Editing recurring message

    /edit_recurring _messages

    Allows the User to edit the parameters of a recurring message by its name

  11. Task management

    Allows the User to create a task with text, deadline, reminder period and responsible people

Details of the commands' work can be found in their scenarios.

(back to top)

Roadmap

See the development status here.

Demo

Bot functionality

Description 1 Description 2 Description 3

Start messageSetting daily meeting timeSetting reminder period

Description 4 Description 5

Receiving reminders in PMSetting personal working hours

Supported languages:

  • en
  • ru

(back to top)

Built With

The Daily Meeting Telegram was built using:

  • Python
    • Aiogram
    • Babel
  • MongoDB
  • Docker

(back to top)

Usage

Personal use:

Send @daily_meeting_t34_bot a private message with the /start command.

Team work:

Add @daily_meeting_t34_bot to the public group. To gain access to all the functionality of the bot, send the /start command to the bot in private messages.

(back to top)

Launch your bot

  1. Create a bot via @BotFather.

  2. Write the environment variables to a .env file.

    BOT_TOKEN=<bot token received from @BotFather>
    MONGO_HOST=mongodb
    MONGO_PORT=27017
    MONGO_USERNAME=some_unusual_username
    MONGO_PASSWORD=even_more_unusual_password

Run via docker

chmod +x scripts/up.sh
./scripts/up.sh

Run via Nix

  1. Install Nix - link.

  2. Run the bot.

    nix run .#bot

(back to top)

Contributing

  • Suggest a new feature here

  • Improve existing functionality/fix a bug/improve the UI, etc. here

(back to top)

Develop

Requirements

See Requirements.

Setting up the development environment using VS Code

The project describes scenarios using statelyai.stately-vscode extension for VS Code.

I18N

aiogram docs

Run:

chmod +x ./scripts/locales.sh
./scripts/locales.sh

New translations

bash ./scripts/locales.sh

Nix flake

Run nix develop and see available commands and tools.

(back to top)

License

Distributed under the MIT License. See LICENSE.txt for more information.

(back to top)

About

A Telegram bot that helps you conduct daily (or at least regular) meetings

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 7