Opus Bot
💡 Project's Idea
This project was developed to create a Telegram Chatbot to help people enhance their prayers life.
🔍 Features
- Request common prayers;
- Register services to receive prayers periodically;
🛠 Technologies
During the development of this project, the following techologies were used:
💻 Project Configuration
First, create a new virtual environment on the root directory
$ python -m venv env
Activate the created virtual environment
$ .\env\Scripts\activate # On Windows machines
$ source ./env/bin/activate # On MacOS/Unix machines
Install the required packages/libs
(env) $ pip install -r requirements.txt
🌐 Setting up config files
Create an .env file on the root directory, with all needed variables, credentials and API keys, according to the sample provided (example.env).
⏯️ Running
To run the project in a development environment, execute the following command on the root directory, with the virtual environment activated.
(env) $ python run.py
The opus-bot.service file must be updated and placed in the '/etc/systemd/system/' directory. After that, you should execute the following commands to enable and start the service:
$ sudo systemctl daemon-reload
$ sudo systemctl enable opus-bot
$ sudo systemctl start opus-bot
$ sudo systemctl status opus-bot
In order to leave the virtual environment, you can simply execute the command below:
(env) $ deactivate
👀 Observations
The website Hablar con Dios, Francisco Fernández-Carvajal, from where we retrieve the daily meditations, has a few security restrictions. Therefore, sometimes, it might not be possible to retrieve the daily meditation.
Documentation:
- Church Calendar API
- Telegram Bot API
- Gangsta: A Telegram Chatbot with Python from scratch
- gangsta
- Learn to build your first bot in Telegram with Python
- Building a Chatbot using Telegram and Python (Part 1)
- configparser — Configuration file parser
- Running Pip3 ImportError: cannot import name 'main'
- Automating Python Scripts with Systemd: A Step-by-Step Guide
- python-telegram-bot - Code snippets
- telegram.ext package
- Emoji Cheat Sheet
- User guide - APScheduler
- apscheduler.triggers.cron — APScheduler 3.9.0.post1.post1 documentation
📄 License
This project is under the MIT license. For more information, access LICENSE.