Coder Social home page Coder Social logo

kimv-1086 / mad-telegram-standup-bot Goto Github PK

View Code? Open in Web Editor NEW

This project forked from maddevsio/mad-telegram-standup-bot

0.0 1.0 0.0 12.83 MB

Telegram Bot for asynchronous standups meetings

License: MIT License

Dockerfile 1.04% Makefile 0.37% Go 93.77% Shell 0.12% TSQL 4.70%

mad-telegram-standup-bot's Introduction

Standup Bot for Telegram

Developed by Mad Devs Project Status: Active โ€“ The project has reached a stable, usable state and is being actively developed. Go Report Card CircleCI License: MIT

Automates workflow of async standups meetings

Supported languages: English(default), Russian

Add @SimpleStandupBot to your telegram channel to start using it right away

Bot Skills

  • Onbords new members with predefined, customized message
  • Warns about upcomming standup deadline in case intern did not write standup yet
  • Members join and leave standup teams on their own (no time from managers needed)
  • Can adjust to different timezones
  • Detects standups by watching messages with bot tag and defined keywords
  • supports English and Runssian languages. To add more, see https://github.com/nicksnyder/go-i18n for language reference

Available commands

help - display help text 
join - join standup team
show - displays group info
leave - leave standup team 
edit_deadline - edit group standup deadline (formats: 10am, 13:45)
update_onbording_message - set or update your group greeting message
update_group_language - set or update your group primary language (format: en, ru)
group_tz - update group time zone (default: Asia/Bishkek)
tz - update individual time zone (default: Asia/Bishkek)
change_submission_days - changes days people should submit standups at (format: "monday, tuesday, etc)

Local usage

First you need to set env variables:

export TELEGRAM_TOKEN=yourTelegramTokenRecievedFromBotFather
export DEBUG=true

Install dep

Then run. Note, you need Docker and docker-compose installed on your system

make run

To run tests:

make clear
make test

To debug locally without docker use:

make clear
make setup
go run main.go

This should setup a database and run all the migrations for you.

To update messages: First install CLI from original repo then follow these steps:

  1. Make changes to your default messages
  2. Run goi18n extract to update English translation files
  3. Create translate.ru.toml file for Russian translations
  4. Run goi18n merge active.*.toml translate.*.toml to change translated messages to update Russian translations
  5. Run goi18n merge active.*.toml to update russian translations

Install on your server

  1. Build and push bot's image to Dockerhub or any other container registry:
docker build  -t <youraccount>/mad-telegram-standup-bot  .
docker push <youraccount>/mad-telegram-standup-bot
  1. Enter server, install docker and docker-compose there. Create docker-compose.yaml file by the example from this repo
  2. Create .env file with variables needed to run bot:
TELEGRAM_TOKEN=603860531:AAEB95f4tq18RWZtKLFJDFLKFDFfdsfds
DEBUG=false
  1. Pull image from registry and run it in the backgroud with
docker-compose pull
docker-compose up -d

Contribution

Any contribution is welcomed! Fork it and send PR or simply request a feature or point to bug with issues.

mad-telegram-standup-bot's People

Contributors

anatoliyfedorenko avatar khalezin avatar bekbolotgm avatar dymokd avatar

Watchers

James Cloos avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.