Skip to main content
Join the official 2019 Python Developers SurveyStart the survey!

Telegram Bot framework

Project description

# telegraph_commander
Telegram simple bot framework

## 1. First, extend BaseBot class, and provide router and configuration:
```python
from telegraph_commander.logger import get_console_handler
from telegraph_commander.bot import BaseBot
from telegraph_commander.command import CommandRouter, BotCommand
from telegraph_commander.config import BotConfig



class YourBotConfig(BotConfig):
TELEGRAM_API_KEY = '<api_key>'
DEFAULT_COMMAND = 'menu'


class YourBot(BaseBot):
router_class = CommandRouter
config_class = YourBotConfig

bot = YourBot()

```

## 2. Bind commands to router :
```python
@bot.router.command('menu')
class MenuCommand(BotCommand):
async def run(self):
await self.telegram_api.send_message(self.chat_id, 'Select action', variants=[['/mul']])


@bot.router.command('mul')
class MulCommand(BotCommand):
PARAMS = (
dict(name='operand_1', title='first argument'),
dict(name='operand_2', title='second argument')
)
async def run_handle(self):
result = float(self.operand_1) * float(self.operand_2)
await self.telegram_api.send_message(self.chat_id, 'result: {}'.format(result))
```

## 3. Add console logger handler(optional), and run your bot:
```python
bot.logger.addHandler(get_console_handler())
bot.run()
```

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Files for telegraph_commander, version 0.0.3
Filename, size File type Python version Upload date Hashes
Filename, size telegraph_commander-0.0.3.zip (12.2 kB) File type Source Python version None Upload date Hashes View hashes

Supported by

Elastic Elastic Search Pingdom Pingdom Monitoring Google Google BigQuery Sentry Sentry Error logging AWS AWS Cloud computing DataDog DataDog Monitoring Fastly Fastly CDN SignalFx SignalFx Supporter DigiCert DigiCert EV certificate StatusPage StatusPage Status page