/BotStatus

An action to automatically update bot status at GitHub as well as in Telegram channel.

Primary LanguagePythonGNU General Public License v3.0GPL-3.0

Issues Forks Stars LICENSE Size Contributors

BotStatus ~

A simple, short, mostly customisable GitHub Action to show your bot's status in your GitHub MarkDown file as well as in your Telegram.


How to use this ?

  • Star this repo. โญ
  • Go to the repository where you want to display the status of the bots. ๐Ÿค–
  • Go to environment variables (Settings โ‡ข Secrets โ‡ข New Repository Secret.) ๐Ÿšถ
  • Fill all Environment variables there. ๐Ÿคญ
  • Copy this snippet in ./github/workflows/main.yml in your repository. ๐Ÿ“
  • The workflow will automatically run at interval of 3 hours. ๐Ÿƒ

โš ๏ธ You'll need a valid JSON with all your bots with some additional information. Example is given in example.json, But the link shuld point to raw data like here. You can use npoint.io, gist.github.com, pastebin.com, JSONKeeper.com etc...

You can also use ${{ steps.bot-status.outputs.STATUS }} for using the JSON data (containing the name of bot, username and status) wherever you want to use them.

3rd and 4th steps are not mandatory, It's just to keep your secrets completely secret and not let anyone peep into them. You can also define them directly in .yml file.


๐Ÿคซ Environment variables

โŒฒ These are mandatory variables and should be kept secret. (use Environment variables)

๐Ÿ”’ Secret ๐Ÿ”’ ๐Ÿท Description ๐Ÿท โš™๏ธ Default โš™๏ธ ๐Ÿ“‡ Example ๐Ÿ“‡
API_HASH Get it from my.telegram.org None 782xxxx
APP_ID Get it from my.telegram.org None a1bbfb767fd59812bxxxxxxxxxxxxxxx
IDS IDs of the Messgage followed with chat id None -100153418xxxx:3 -100225478xxxx:16
SESSION Run on Repl.it None xxxxxxxxxxxxxxxx.....
BOTS Raw link of JSON file of bots. ๐Ÿ”— Link ๐Ÿ”— JSON format โ•‘ Raw link

Format of chat IDs ยป chat id:message id Eg, -100123456xxx:1x where 100123456xxx is chat id and 1x is message id.

Optional variables

โŒฒ These are optional values and can be omitted. Default values will be used. (can use directly in .yml instead of messing Environment variables.)

๐Ÿงพ Values ๐Ÿงพ ๐Ÿท Description ๐Ÿท โš™๏ธ Default โš™๏ธ ๐Ÿ“‡ Example ๐Ÿ“‡
FILE_NAME Name of the file to edit. README.md STATUS.md
EDIT_IN_REPO True for editing status in repository, False for else. True True
EDIT_IN_TELEGRAM True for editing status in Telegram. True True
START_MESSAGE Message to be shown in starting of the Text in Telegram. Read main.py Read main.py
END_MESSAGE Message to be shown in ending of the Text in Telegram. Read main.py Read main.py
COMMIT_MESSAGE Message while commit. โœจ auto-updated bot status. โœจ Updated bot status [Bot]
BULLET The bullet use to separate bots in Telegram. โ—ช โ—
TIME_ZONE The Time zone of your locale. Asia/Kolkata Europe/London
TIME_FORMAT Format of your time to be shown everwhere. %H:%M %d/%m %Y-%m-%d %H:%M:%S
UP_GITHUB Emoji or Text when the status is up. (on GitHub MarkDown file) โœ”๏ธ โœ…
DOWN_GITHUB Emoji or Text when the status is down. (on GitHub MarkDown file) โŒ โŽ
UP_TELEGRAM Emoji or Text when the status is up. (in Telegram chat) ๐Ÿš€ โ˜‘๏ธ
DOWN_TELEGRAM Emoji or Text when the status is down. (in Telegram chat) โŒ ๐Ÿ’ค
โœŒ๏ธ  Support me

     

๐Ÿ’ป Credits

License

License

The GNU General Public License (GNU GPL or simply GPL) is a series of widely-used free software licenses that guarantee end users the freedom to run, study, share, and modify the software.[8] The licenses were originally written by Richard Stallman, founder of the Free Software Foundation (FSF), for the GNU Project, and grant the recipients of a computer program the rights of the Free Software Definition.[9] The GPL series are all copyleft licenses, which means that any derivative work must be distributed under the same or equivalent license terms. This is in distinction to permissive software licenses, of which the BSD licenses and the MIT License are widely used, less restrictive examples. GPL was the first copyleft license for general use.