Ввод переменной пользователем в Pytelegrambotapi
Всем привет, никак не могу сделать ввод переменной со стороны пользователя с дальнейшим её использованием в функции для преобразования в EUR в RUB. Библиотека pytelegrambotapi.
from telebot.async_telebot import AsyncTeleBot
from aiohttp import ClientSession
import asyncio
#инициализация бота
bot = AsyncTeleBot('')
#хэндлер для ответа на приветственное сообщение
@bot.message_handler(commands=['start'])
async def start_message(message):
await bot.send_message(message.chat.id,"""? Привет!
С помощью этого бота ты сможешь:
- Узнать курс EUR в реальном времени
- Рассчитать стоимость заказа
- Оформить заказ""")
@bot.message_handler(commands=['get_rates'])
async def send_rates(message):
binance_rate = await get_binance_rates()
await bot.send_message(message.chat.id, f"Курс EUR на данный момент {binance_rate}")
async def get_binance_rates():
async with ClientSession() as session:
resp = await session.post(
'https://p2p.binance.com/bapi/c2c/v2/friendly/c2c/adv/search',
json={
"proMerchantAds":False,
"page":1,
"rows":10,
"payTypes":["RosBankNew"],
"countries":[],
"publisherType":None,
"asset":"USDT",
"fiat":"RUB",
"tradeType":"BUY",
"transAmount":"5000"
}
)
json = await resp.json()
binance_price = float(json['data'][0]['adv']['price'])
resp = await session.get("https://api.binance.com/api/v3/ticker/price?symbol=EURUSDT")
json = await resp.json()
price = float(json['price'])
binance_comission = 1.001
result = binance_price * price * binance_comission
return round(result, 2)
async def extract_arg(arg):
return arg.split()[1:]
@bot.message_handler(commands=['moyacomanda'])
def yourCommand(message):
status = extract_arg(message.text)
if __name__ == '__main__':
asyncio.run(bot.polling())