Added README.md
This commit is contained in:
parent
67271b9ad8
commit
3a5999945e
|
@ -0,0 +1,48 @@
|
|||
# Modular Bot Framework for Telegram (MBFT)
|
||||
Modular bot framework for telegram (MBFT for short) allows you to quickly create stable, modular and highly customizable bots.
|
||||
The concept comes from the original project created for Twitch chat that has shown its high stability (it has worked for over 10 months without a single crash).
|
||||
Now it is being rewritten for Telegram to serve many different purposes.
|
||||
|
||||
## Installing and running the bot
|
||||
|
||||
The installation can be easily done by cloning this repository and providing the Telegram bot token using the config/token file.
|
||||
In commands, it is done like this:
|
||||
```bash
|
||||
# cloning the repo
|
||||
git clone http://109.86.70.81:3000/dymik739/modular-bot-framework-for-telegram
|
||||
cd modular-bot-framework-for-telegram/
|
||||
|
||||
# creating "config" folder and providing a token
|
||||
mkdir config/
|
||||
printf "YOUR_AUTH_TOKEN" > config/token
|
||||
|
||||
# running the bot
|
||||
python3 main.py
|
||||
# or, using the screen utility:
|
||||
screen -S mbft python3 main.py
|
||||
```
|
||||
|
||||
## Writing modules (for modVM v1)
|
||||
|
||||
To start making your module, you need to create a folder in the modules/ directory and give it a unique name (just like with any other folder).
|
||||
After that, you need to create two files: for code and for metadata.
|
||||
|
||||
Firstly, you want to make a file called "meta.json" - it will let the module loader know where you placed your code as well as some other useful metadata. Let's look at a sample meta.json file:
|
||||
```
|
||||
{
|
||||
"index_file": index.py, # locates your source code; index.py by default
|
||||
"start_on_boot": true, # tells mod loader to start your module automatically; false by default
|
||||
"version": 1, # this points to the specific version of modVM your code needs to run; 1 by default
|
||||
"alias": "testapp" # adds an alias to your module which can be later specified in control commands
|
||||
}
|
||||
```
|
||||
|
||||
After that you can start writing your code in the index.py file; every code is different, but there are some generic rules to understand and follow:
|
||||
- your code receives message that can be accessed at self.MESSAGE
|
||||
- message text can be found at self.MESSAGE.text
|
||||
- to send a responce, you need to write a string with responce text to self.RESPONCE
|
||||
- you can use modules already available to you (json, codecs); please, try to avoid importing unneccesary modules
|
||||
- if you need to access files amd folders in your module dicertory, you can easily do so by using self.path + "filename"; self.path always contains your current folder name
|
||||
- please, avoid using time.sleep() in any scenario; modules are syncronous, so usage of this method will stall the entire bot
|
||||
|
||||
If you want to submit your code, please check if it works by running the bot and testing the output; if you want to submit the code for someone to do more work on it, you should set "start_on_boot" to "false" in meta.json file (the same should be done for testing/unstable modules)
|
Loading…
Reference in New Issue