These instructions will get you a copy of the project up and running on your local machine for development and testing purposes.
You will need the below installed on your computer
- Git [email protected] or higher_
- NodeJS (which comes with npm) node@v12 or higher, [email protected] or higher_
- Telegram Desktop or Telegram App
$ git clone https://github.com/waaeel/wakatime-telegram-bot.git
$ cd wakatime-telegram-bot
$ npm install
-
Create a file called
.env
in the root directory of your project. OR Note: Instead of creating a.env
file, create a replica of theenv.example
file provided$ cp env.example .env
-
Inside the
.env
file, add keyWAKATIME_API_KEY
obtained from Wakatime Settings. One must create an account and copy the API Key.WAKATIME_API_KEY = "YOUR WAKATIME API TOKEN HERE";
-
Inside the
.env
file, add keyTELEGRAM_TOKEN
andTELEGRAM_CHAT_ID
obtained from Telegram Bots App. Follow the below steps:- Click BotFather and open in either Telegram Desktop or Mobile App(search for
@BotFather
) - After opening it, press
start
and type/newbot
- Provide a name and a username for the bot. ensure it ends with
bot
at its end, for instanceRichierich25_bot
- It will provide a link to the newly created bot and provide the
HTTP API Key
orTELEGRAM_TOKEN
. Open the link provided. important as the bot has to be started for it to receive messages later - Press
start
or to start chatting with the newly created bot - To obtain the
TELEGRAM_CHAT_ID
, search for the@get_id_bot
account and pressstart
- it will provide you your chat id
TELEGRAM_TOKEN = "YOUR TELEGRAM TOKEN HERE"; TELEGRAM_CHAT_ID = "YOUR TELEGRAM CHAT ID HERE";
- Click BotFather and open in either Telegram Desktop or Mobile App(search for
When you are done with the setup, and have tested locally, we recommend you to deploy it using Github Actions. We highly recommend to read through the Using Github Actions docs.
- Inside the
.github/workflows/build.yml
file, set the desired time interval in CRON FORMAT after which you wish the Application to execute and push further notifications
More documention for troubleshooting CRON FORMAT
schedule:
- cron: "20 16 * * 0" #every sunday at 4:20pm
-
Adding API Tokens and Secrets into the repository
- Open your repository with the application code
- Click on
Settings
from the Github Menu options - Press
Secrets
from the left section - Press
New Secret
and add your tokens one by one by giving it a suitableName
andValue
- Add
WAKATIME_API_KEY
,TELEGRAM_TOKEN
andTELEGRAM_CHAT_ID
- NodeJS
- Javascript