Telegram Group: Difference between revisions

From CoMakingSpace Wiki

mNo edit summary
(Bot documentation)
Line 2: Line 2:


Feel free to join using the link above! This channel should of course not replace our [[Mailing List|mailing list]], but that way every message has its place.
Feel free to join using the link above! This channel should of course not replace our [[Mailing List|mailing list]], but that way every message has its place.
==Telegram Bot==
Telegram as a messaging service has been chose because it offers a [https://core.telegram.org/bots/api nice API] for bot development.
The bot we are using has been developed in [[Python]] and is mainly using the [https://github.com/python-telegram-bot/python-telegram-bot python wrapper] for the telegram bot API.<br/>In order to have the bot run 24/7, it is currently running on the [[Raspberry_Pi]] in the [[CommonRoom]]. You can find the code on [https://github.com/comakingspace/CommonRoomPiSettings/tree/master/SpaceAutomation/TelegramBot GitHub].
The functionality of the bot is devided in three authorization groups:
1. Public
These are functions which are not at all restricted. Any telegram user can use these.
2. Authorization Group 1
These functions are generally working, but are either in beta test or should only be run by a limited number of users
3. Authorization Group 2
These functions are administrative functions are should only be used by people which know exactly what they are doing.
As an overview, the bot currently provides the following:
{| class="wikitable"
!Command
!Parameters
!Authorization Group
!Functionality
!Other triggers
|-
|/start
|
|public
|Returns a list of all commands which are enabled for this user.
|
|-
|/wikiuser
|
|public
|Returns a list of the number of the top ten wiki authors (based on the number of bytes changed) of the last 7 days.
|
|-
|/help
|
|public
|Returns a link to this article
|
|-
|/events
|number of days (e.g. <code>/events 10<code>)
|public
|Returns a list of events from the CoMakingSpace Google Calender for the given number of days (default: 14)
|Runs automatically on sundays for the next 14 days and posts that into the Telegram Group.
|-
|/wie_kann_ich_martin_am_besten_nerven
|
|Authorization Group 1
|Returns "sei einfach du selbst".
|
|-
|/randomize_ringtone
|
|Authorization Group 1
|Sets a new random ringtone and sends it to the first user of authorization group 2.
|Randomizing the Ringtone runs daily at midnight. In case somebody manually changes the ringtone, this will also trigger the information to the first user of authorization group2.
|-
|/fdd
|Text (e.g. <code>/fdd Hallo</code>
|Authorization Group 1
|Sends text to the [FDD].
|
|-
|/update
|
|Authorization Group 2
|Triggers a git pull on the pi and returns the output. Afterwards, it restarts the bot.
|
|-
|/github
|number of days (e.g. <code>/github 10</code>), defaults to 1
|Authorization Group 2
|Checks what happened in the [[Issue_Tracker]] in the given number of days and returns an overview.
|Runs automatically daily at 1pm and posts the results to the Telegram Group.
|}




[[Category:Community]]
[[Category:Community]]

Revision as of 17:16, 22 March 2019

There is a CoMakingSpace Telegram group for any members who are interested in "Maker" chitchat, short-notice cooperation, live updates from the Space and general foolery ;-)

Feel free to join using the link above! This channel should of course not replace our mailing list, but that way every message has its place.

Telegram Bot

Telegram as a messaging service has been chose because it offers a nice API for bot development.

The bot we are using has been developed in Python and is mainly using the python wrapper for the telegram bot API.
In order to have the bot run 24/7, it is currently running on the Raspberry_Pi in the CommonRoom. You can find the code on GitHub.

The functionality of the bot is devided in three authorization groups: 1. Public These are functions which are not at all restricted. Any telegram user can use these. 2. Authorization Group 1 These functions are generally working, but are either in beta test or should only be run by a limited number of users 3. Authorization Group 2 These functions are administrative functions are should only be used by people which know exactly what they are doing.

As an overview, the bot currently provides the following:

Command Parameters Authorization Group Functionality Other triggers
/start public Returns a list of all commands which are enabled for this user.
/wikiuser public Returns a list of the number of the top ten wiki authors (based on the number of bytes changed) of the last 7 days.
/help public Returns a link to this article
/events number of days (e.g. /events 10) public Returns a list of events from the CoMakingSpace Google Calender for the given number of days (default: 14) Runs automatically on sundays for the next 14 days and posts that into the Telegram Group.
/wie_kann_ich_martin_am_besten_nerven Authorization Group 1 Returns "sei einfach du selbst".
/randomize_ringtone Authorization Group 1 Sets a new random ringtone and sends it to the first user of authorization group 2. Randomizing the Ringtone runs daily at midnight. In case somebody manually changes the ringtone, this will also trigger the information to the first user of authorization group2.
/fdd Text (e.g. /fdd Hallo Authorization Group 1 Sends text to the [FDD].
/update Authorization Group 2 Triggers a git pull on the pi and returns the output. Afterwards, it restarts the bot.
/github number of days (e.g. /github 10), defaults to 1 Authorization Group 2 Checks what happened in the Issue_Tracker in the given number of days and returns an overview. Runs automatically daily at 1pm and posts the results to the Telegram Group.