GithubHelp home page GithubHelp logo

teamup-telegram-bot's Introduction

teamup-telegram-bot Build Status

This bot lets you post events (tasks or room bookings) from the the teamup calendar into a telegram chat group, so people can sign up for them. It's designed to help (public/collective/participatory/collaborative) groups to organize work.

:octocat: Alternatively, other calendars are also supported.

after you created an event in your teamup calendar

post it in your telegram group/channel, so a person can assign hirself

telegram-gif

how to use

To use this application in your telegram group, you must first complete following steps:

  1. create a calendar on teamup
  2. create a telegram Bot
    • start a conversation with @Botfather and write /newbot
    • give your Bot a name, maybe a nice picture and please mention this website in your Bot description
  3. start the program for your telegram Bot by clicking on Deploy (you need an account but it's free)
    • it will build&start the program from the current source code
  4. invite the new Bot to a telegram group/channel and post /postcalendar CalendarName Date e.g. /postcalendar VeKü 2020-08-26
    • note that in a channel your bot needs permissions to post like any user

This application is in beta and will be further developed after some feedback from you.

how to update

After this program is deployed to heroku it will not be updated automatically! If you are interested in more features, you should check out new releases from time to time.

To update your bot manually, you have to delete the program in heroku (under settings) and click on the heroku deploy button from step 3. again. Unfortunately this will cause data loss at the moment (but only usernames). To avoid problems you have to click on the reload button in your telegram group of each still relevant calendar or repost them again.

for developers

start the DB with docker-compose up

manual deployment

  • gradle build
  • heroku deploy:jar build/libs/teamup-telegram-bot*-all.jar --app teamup-telegram-bot

manual test

  • https://core.telegram.org/bots/webhooks
  • check bot status https://api.telegram.org/bot{token}/getWebhookInfo
  • send message manually curl -v -k -X POST -H "Content-Type: application/json" -H "Cache-Control: no-cache" -d '{ "update_id":10000, "message":{ "date":1441645532, "chat":{ "last_name":"Test Lastname", "id":1111111, "first_name":"Test", "username":"Test" }, "message_id":1365, "from":{ "last_name":"Test Lastname", "id":1111111, "first_name":"Test", "username":"Test" }, "text":"/start" } }' "localhost:8443/"

teamup-telegram-bot's People

Contributors

boddah23 avatar vitab avatar

Stargazers

 avatar

Watchers

 avatar  avatar  avatar

Forkers

norz crc32

teamup-telegram-bot's Issues

/postcalendar does nothing

Hey,
I am new to the telegram-bot stuff.
I thoroughly followed your instructions but calling </postcalendar name date> has no effect.
What do I do wrong?
Thanks for your help.
MsLusica

Ask the user for a self-chosen name

Currently, when assigning to an event, the bot asks the user if the telegram name can be used or if the user wants to assign anonymously (as "?").
Instead of the anonymous assignment, there should be an option where the user can type in a self-chosen name.

If possible, the user should be asked for his name only once. A new command /change-my-name can be introduced to allow a later change.

404 for second task update

for repeatable tasks, the id in the teamup changes after task update. This means that if a second user wants to assign hirself afterwards, he/she gets a 404

reload calendar after user assigned to task or find another solution (like remote id)

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.