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