import random
import telebot
from telebot import types
import requests
from bs4 import BeautifulSoup
from datetime import datetime
today = datetime.today()
today = today.strftime('%d/%m/%Y')
url = 'http://www.cbr.ru/scripts/XML_daily.asp?'
payload = {'date_req': today}
token = 'токен'
bot = telebot.TeleBot(token)
def get_curse(id):
response = requests.get(url, params=payload)
xml = BeautifulSoup(response.content, 'html.parser')
return xml.find('valute', {'id': id}).value.text.replace(',', '.')
@bot.message_handler(commands=['start'])
def start(message):
markup = types.ReplyKeyboardMarkup(resize_keyboard=True)
button1 = types.KeyboardButton('Во что поиграть?')
button2 = types.KeyboardButton('Рандомное число')
button3 = types.KeyboardButton('Узнать курс валют')
button4 = types.KeyboardButton('Викторина')
markup.add(button1, button2, button3, button4)
bot.send_message(message.chat.id, 'Привет!', reply_markup=markup)
@bot.message_handler(content_types=['text'])
def bot_tg(message):
if message.chat.type == 'private':
if message.text == 'Во что поиграть?':
markup = types.ReplyKeyboardMarkup(resize_keyboard=True)
button2 = types.KeyboardButton('Стратегия')
button3 = types.KeyboardButton('Шутер')
button4 = types.KeyboardButton('Выживание')
back = types.KeyboardButton('Назад')
markup.add(button2, button3, button4, back)
bot.send_message(message.chat.id, 'Во что поиграть?', reply_markup=markup)
if message.text == 'Стратегия':
bot.send_message(message.chat.id, 'Dota 2')
elif message.text == 'Выживание':
bot.send_message(message.chat.id, 'Dayz')
elif message.text == 'Шутер':
bot.send_message(message.chat.id, 'Apex')
if message.text == 'Назад':
markup = types.ReplyKeyboardMarkup(resize_keyboard=True)
button1 = types.KeyboardButton('Во что поиграть?')
button2 = types.KeyboardButton('Рандомное число')
button3 = types.KeyboardButton('Узнать курс валют')
button4 = types.KeyboardButton('Викторина')
markup.add(button1, button2, button3, button4)
bot.send_message(message.chat.id, 'Главное меню', reply_markup=markup)
if message.text == 'Рандомное число':
bot.send_message(message.chat.id, 'Ваше число: ' + str(random.randint(0, 100)))
if message.text == 'Узнать курс валют':
markup = types.ReplyKeyboardMarkup(resize_keyboard=True)
button1 = types.KeyboardButton('Доллар')
button2 = types.KeyboardButton('Тенге')
button3 = types.KeyboardButton('Евро')
button4 = types.KeyboardButton('Китайский юань')
back = types.KeyboardButton('Назад')
markup.add(button1, button2, button3, button4, back)
bot.send_message(message.chat.id, 'Главное меню', reply_markup=markup)
elif message.text == 'Доллар':
bot.send_message(message.chat.id, get_curse('R01235'))
elif message.text == 'Тенге':
bot.send_message(message.chat.id, get_curse('R01335'))
elif message.text == 'Евро':
bot.send_message(message.chat.id, get_curse('R01239'))
elif message.text == 'Китайский юань':
bot.send_message(message.chat.id, get_curse('R01375'))
if message.text == 'Викторина':
bot.send_message(message.chat.id, 'Вопрос N1:\nСколько месяцев в году имеют 28 дней?')
elif message.text.lower() == 'все' or message.text.lower() == '12' or message.text.lower() == '12 месяцев' or message.text.lower() == 'все месяцы':
bot.send_message(message.from_user.id, 'Верно.')
bot.send_message(message.from_user.id, 'Вопрос N2:\nСколько лет длилась 100-летняя война?')
elif message.text.lower() == '116' or message.text.lower() == '116 лет' or message.text.lower() == 'сто шестнадцать':
bot.send_message(message.from_user.id, 'Верно.')
bot.send_message(message.from_user.id, 'Вопрос N3:\nЧто изучает уфология?')
elif message.text.lower() == 'нло' or message.text.lower() == 'летающие тарелки' or message.text.lower() == 'инопланетян':
bot.send_message(message.from_user.id, 'Верно.')
bot.send_message(message.from_user.id, 'Это был последний вопрос.')
#тот самый else
else:
bot.send_message(message.from_user.id, 'неверно, вы можете попробовать ещё раз :)')