up
This commit is contained in:
parent
c9355eb603
commit
746b5dda12
132
example_bot.py
Normal file
132
example_bot.py
Normal file
@ -0,0 +1,132 @@
|
|||||||
|
import telebot
|
||||||
|
from call2api import *
|
||||||
|
|
||||||
|
bot = telebot.TeleBot('YOUR_BOT_TOKEN')
|
||||||
|
|
||||||
|
@bot.message_handler(commands=['help'])
|
||||||
|
def send_help(message):
|
||||||
|
help_text = '''
|
||||||
|
```
|
||||||
|
/set_creds <nick> <token> - Установка ника, токена.
|
||||||
|
/check_token - Проверка валидности токена.
|
||||||
|
/check_bal - Проверка баланса пользователя.
|
||||||
|
/get_time2cdm - Получения времени CDM.
|
||||||
|
/get_stat [date] - Получение статистики. Опционально: указание даты.
|
||||||
|
/transfer_coins <dst_nick> <amount> - Перевести CDM другому пользователю.
|
||||||
|
/gen_fp <amount> - Генерация чека для оплаты.
|
||||||
|
/list_fp - Список чеков.
|
||||||
|
/del_fp <fp_id> - Удалить чек.
|
||||||
|
```'''
|
||||||
|
bot.reply_to(message, help_text, parse_mode = 'Markdown')
|
||||||
|
|
||||||
|
def parse_command_data(message, num_params, set_creds=False):
|
||||||
|
try:
|
||||||
|
if creds_setted() or set_creds:
|
||||||
|
command_parts = message.text.split()
|
||||||
|
if len(command_parts) < num_params + 1:
|
||||||
|
bot.reply_to(message, 'Недопустимые параметры.')
|
||||||
|
raise ValueError
|
||||||
|
if num_params == 1:
|
||||||
|
return command_parts[1]
|
||||||
|
return command_parts[1:num_params + 1]
|
||||||
|
else:
|
||||||
|
bot.reply_to(message, f'`/set_creds <nick> <token> - Установка ника, токена.`', parse_mode='Markdown')
|
||||||
|
except ValueError:
|
||||||
|
bot.reply_to(message, 'Недопустимые параметры')
|
||||||
|
return None
|
||||||
|
|
||||||
|
# Задание ника и токена для удобства
|
||||||
|
global NICK, TOKEN
|
||||||
|
NICK = None
|
||||||
|
TOKEN = None
|
||||||
|
def creds_setted():
|
||||||
|
global NICK, TOKEN
|
||||||
|
if NICK and TOKEN:
|
||||||
|
return True
|
||||||
|
else:
|
||||||
|
return False
|
||||||
|
def get_nick():
|
||||||
|
global NICK
|
||||||
|
return NICK
|
||||||
|
def get_token():
|
||||||
|
global TOKEN
|
||||||
|
return TOKEN
|
||||||
|
|
||||||
|
|
||||||
|
@bot.message_handler(commands=['set_creds'])
|
||||||
|
def set_creds(message):
|
||||||
|
params = parse_command_data(message, 2, set_creds=True)
|
||||||
|
if params:
|
||||||
|
nick, token = params
|
||||||
|
global NICK, TOKEN
|
||||||
|
NICK = nick; TOKEN = token
|
||||||
|
bot.reply_to(message, f'Данные установлены')
|
||||||
|
|
||||||
|
@bot.message_handler(commands=['check_token'])
|
||||||
|
def handle_check_token(message):
|
||||||
|
if creds_setted():
|
||||||
|
response = check_token(get_nick(), get_token())
|
||||||
|
print(response)
|
||||||
|
bot.reply_to(message, f'Результат: ```\n{response}```', parse_mode='Markdown')
|
||||||
|
else:
|
||||||
|
bot.reply_to(message, f'`/set_creds <nick> <token> - Установка ника, токена.`', parse_mode='Markdown')
|
||||||
|
|
||||||
|
@bot.message_handler(commands=['check_bal'])
|
||||||
|
def handle_check_bal(message):
|
||||||
|
if creds_setted():
|
||||||
|
response = check_bal(get_nick(), get_token())
|
||||||
|
bot.reply_to(message, f'Результат: ```\n{response}```', parse_mode='Markdown')
|
||||||
|
else:
|
||||||
|
bot.reply_to(message, f'`/set_creds <nick> <token> - Установка ника, токена.`', parse_mode='Markdown')
|
||||||
|
|
||||||
|
@bot.message_handler(commands=['get_time2cdm'])
|
||||||
|
def handle_get_time2cdm(message):
|
||||||
|
if creds_setted():
|
||||||
|
response = get_time2cdm(get_nick(), get_token())
|
||||||
|
bot.reply_to(message, f'Результат: ```\n{response}```', parse_mode='Markdown')
|
||||||
|
else:
|
||||||
|
bot.reply_to(message, f'`/set_creds <nick> <token> - Установка ника, токена.`', parse_mode='Markdown')
|
||||||
|
|
||||||
|
@bot.message_handler(commands=['get_stat'])
|
||||||
|
def handle_get_stat(message):
|
||||||
|
if creds_setted():
|
||||||
|
date = message.text.split()[1] if len(message.text.split()) > 1 else None
|
||||||
|
response = get_stat(get_nick(), get_token(), date)
|
||||||
|
bot.reply_to(message, f'Результат: ```\n{response}```', parse_mode='Markdown')
|
||||||
|
else:
|
||||||
|
bot.reply_to(message, f'`/set_creds <nick> <token> - Установка ника, токена.`', parse_mode='Markdown')
|
||||||
|
|
||||||
|
@bot.message_handler(commands=['transfer_coins'])
|
||||||
|
def handle_transfer_coins(message):
|
||||||
|
params = parse_command_data(message, 2)
|
||||||
|
if params:
|
||||||
|
dst_nick, amount = params
|
||||||
|
response = transfer_coins(get_nick(), get_token(), dst_nick, amount)
|
||||||
|
bot.reply_to(message, f'Результат: ```\n{response}```', parse_mode='Markdown')
|
||||||
|
|
||||||
|
@bot.message_handler(commands=['gen_fp'])
|
||||||
|
def handle_gen_fp(message):
|
||||||
|
params = parse_command_data(message, 1)
|
||||||
|
if params:
|
||||||
|
amount = params
|
||||||
|
response = gen_fp(get_nick(), get_token(), str(amount), str(message.from_user.id))
|
||||||
|
bot.reply_to(message, f'Результат: ```\n{response}```', parse_mode='Markdown')
|
||||||
|
|
||||||
|
@bot.message_handler(commands=['list_fp'])
|
||||||
|
def handle_list_fp(message):
|
||||||
|
if creds_setted():
|
||||||
|
response = list_fp(get_nick(), get_token())
|
||||||
|
bot.reply_to(message, f'Результат: ```\n{response}```', parse_mode='Markdown')
|
||||||
|
else:
|
||||||
|
bot.reply_to(message, f'`/set_creds <nick> <token> - Установка ника, токена.`', parse_mode='Markdown')
|
||||||
|
|
||||||
|
@bot.message_handler(commands=['del_fp'])
|
||||||
|
def handle_del_fp(message):
|
||||||
|
params = parse_command_data(message, 1)
|
||||||
|
if params:
|
||||||
|
fp_id = params
|
||||||
|
response = del_fp(get_nick(), get_token(), fp_id)
|
||||||
|
bot.reply_to(message, f'Результат: ```\n{response}```', parse_mode='Markdown')
|
||||||
|
|
||||||
|
|
||||||
|
bot.polling()
|
Loading…
Reference in New Issue
Block a user