# Beginning imports
import telebot
import random
from random import choice
from datetime import datetime
from pycbrf import ExchangeRates
from pycoingecko import CoinGeckoAPI
from telebot import types
# The end imports
# Token bot, api
bot = telebot.TeleBot("5713982002:AAFplyW-HUBPx-AyhqGmkLLx4PgjfpF7fww")
api = CoinGeckoAPI()
valuta = "usd"
# Token bot, api
# Beginning command start
@bot.message_handler(commands=['start'])
def start(message):
bot.send_message(message.chat.id,
"Приветсвую! Это очень крутой бот и тебе повезло что ты его нашел! Пиши /menu чтобы открыть меню бота. А и еще если несложно подпишись на мой канал в телеге (/channel).")
# The end command start
# Beginning command channel
@bot.message_handler(commands=['channel'])
def channel(message):
markup = types.InlineKeyboardMarkup()
markup.add(types.InlineKeyboardButton("Подпишись если несложно", url="https://t.me/TheScroogeeBand"))
bot.send_message(message.chat.id, "Вот мой канал", reply_markup=markup)
# The end command channel
# Beginning command menu
@bot.message_handler(commands=['menu'])
def menubot(message):
markup = types.ReplyKeyboardMarkup(resize_keyboard=True, row_width=2)
InfoBot = types.KeyboardButton("📃Информация о боте📃")
Predl = types.KeyboardButton("📋Предложение улучшение для бота📋")
SocSeti = types.KeyboardButton("📱Социальные Сети создателя📱")
Drugoe = types.KeyboardButton("🗂Другое🗂")
markup.add(InfoBot, Predl, SocSeti, Drugoe)
bot.send_message(message.chat.id, "Выбирай!", reply_markup=markup)
# The end command menu
# Beginning otvets menu
@bot.message_handler(content_types=['text'])
def otvetmenu(message):
if message.chat.type == "private":
if message.text == '📃Информация о боте📃':
bot.send_message(message.chat.id,
"Приветсвую! Это очень полезный бот, в этом боте ты сможешь найти очень много всего ")
elif message.text == '📋Предложение улучшение для бота📋':
bot.send_message(message.chat.id, "Писать в ответы закреп канала! https://t.me/TheScroogeeBand")
elif message.text == '📱Социальные Сети создателя📱':
bot.send_message(message.chat.id, "TG: https://t.me/ScroogeeKryt\n"
"Discord:\n"
"VK:\n"
"TikTok:")
elif message.text == '🗂Другое🗂':
markup = types.ReplyKeyboardMarkup(resize_keyboard=True, row_width=2)
PolezSh = types.KeyboardButton("💡Полезные штуки💡")
Kyrs = types.KeyboardButton("📊Курсы📊")
Games = types.KeyboardButton("🎮Развлечение🎮")
Random = types.KeyboardButton("🎲Рандом🎲")
GMenu = types.KeyboardButton("🚪Главное меню🚪")
markup.add(PolezSh, Kyrs, Games, Random, GMenu)
bot.send_message(message.chat.id, "Выбирай!", reply_markup=markup)
elif message.text == '💡Полезные штуки💡':
markup = types.ReplyKeyboardMarkup(resize_keyboard=True, row_width=2)
Sait = types.KeyboardButton("🖥Сайты которые тебе пригодятся🖥")
Bots = types.KeyboardButton("🤖Телеграмм боты которые тебе пригодятся🤖")
GMenu = types.KeyboardButton("🚪Главное меню🚪")
markup.add(Sait, Bots, GMenu)
bot.send_message(message.chat.id, "Выбирай!", reply_markup=markup)
elif message.text == '🖥Сайты которые тебе пригодятся🖥':
bot.send_message(message.chat.id, "🏆1 Место: https://www.blast.hk\n"
"🥇1 Место: https://lolz.guru\n"
"‼️Это самые топовые сайты, других небудет.‼️")
elif message.text == '🤖Телеграмм боты которые тебе пригодятся🤖':
bot.send_message(message.chat.id,
"‼️На 1000 подписчиков в канале тг сделаю ботов для зароботка(/channel)‼️\n"
"Ищет каналы в Telegram по тематике, названию или username. - @SearcheeBot\n"
"Бот Телеграм, присылающий анекдоты и прикольные картинки. База анекдотов не самая большая, но в целом бот приятный. - @Anekdotebot\n"
"Бот, собирающий приколы и мемы со всех уголков Рунета. Русскоязычный, на каждую картинку можно получить ссылку и узнать откуда она. - @MemMachineBot")
elif message.text == '📊Курсы📊':
markup = types.ReplyKeyboardMarkup(resize_keyboard=True, row_width=3)
Valuta = types.KeyboardButton("💵Курсы валют💵")
Crypta = types.KeyboardButton("💳Курсы КриптоВалют💳")
markup.add(Valuta, Crypta)
bot.send_message(message.chat.id, "Выбирай", reply_markup=markup)
elif message.text == '💵Курсы валют💵':
markup = types.ReplyKeyboardMarkup(resize_keyboard=True, row_width=2)
usd = types.KeyboardButton("USD")
eur = types.KeyboardButton("EUR")
gbp = types.KeyboardButton("GBP")
GMenu = types.KeyboardButton("🚪Главное меню🚪")
markup.add(usd, eur, gbp, GMenu)
bot.send_message(message.chat.id, "Выбери валюту", reply_markup=markup)
elif message.text == '💳Курсы КриптоВалют💳':
bot.send_message(message.chat.id, "Напиши полное название криптовалюты, обезательно с маленькой буквы, и я покажу ее курс")
elif message.text == '🎮Развлечение🎮':
bot.send_message(message.chat.id, "Игры в разработке.")
elif message.text == '🎲Рандом🎲':
markup = types.ReplyKeyboardMarkup(resize_keyboard=True, row_width=2)
RandCh = types.KeyboardButton("❓Рандом чисел❓")
Kosti = types.KeyboardButton("🎲Кости🎲")
OrelIReshka = types.KeyboardButton("🪙Орёл и Решка🪙")
GMenu = types.KeyboardButton("🚪Главное меню🚪")
markup.add(RandCh, Kosti, OrelIReshka, GMenu)
bot.send_message(message.chat.id, "Test", reply_markup=markup)
elif message.text == '❓Рандом чисел❓':
markup = types.ReplyKeyboardMarkup(resize_keyboard=True, row_width=2)
itsnumber = types.KeyboardButton("❓Свое число❓")
ot_0_do_10 = types.KeyboardButton("❓Случайно число от 0 до 10❓")
ot_0_do_100 = types.KeyboardButton("❓Случайно число от 0 до 100❓")
ot_0_do_500 = types.KeyboardButton("❓Случайно число от 0 до 500❓")
ot_0_do_1000 = types.KeyboardButton("❓Случайно число от 0 до 1000❓")
ot_0_do_1500 = types.KeyboardButton("❓Случайно число от 0 до 1500❓")
ot_0_do_2000 = types.KeyboardButton("❓Случайно число от 0 до 2000❓")
ot_0_do_2500 = types.KeyboardButton("❓Случайно число от 0 до 2500❓")
GMenu = types.KeyboardButton("🚪Главное меню🚪")
markup.add(itsnumber, ot_0_do_10, ot_0_do_100, ot_0_do_500, ot_0_do_1000, ot_0_do_1500, ot_0_do_2000,
ot_0_do_2500, GMenu)
bot.send_message(message.chat.id, "Выбирай!", reply_markup=markup)
elif message.text == '❓Свое число❓':
bot.send_message(message.chat.id,
"Введите от скольки и до скольки должно быть рандомное число(Пример: От 0 до 5)")
elif message.text == '❓Случайно число от 0 до 10❓':
bot.send_message(message.chat.id, "Вот твое случайное число: " + str(random.randint(0, 10)))
elif message.text == '❓Случайно число от 0 до 100❓':
bot.send_message(message.chat.id, "Вот твое случайное число: " + str(random.randint(0, 100)))
elif message.text == '❓Случайно число от 0 до 500❓':
bot.send_message(message.chat.id, "Вот твое случайное число: " + str(random.randint(0, 500)))
elif message.text == '❓Случайно число от 0 до 1000❓':
bot.send_message(message.chat.id, "Вот твое случайное число: " + str(random.randint(0, 1000)))
elif message.text == '❓Случайно число от 0 до 1500❓':
bot.send_message(message.chat.id, "Вот твое случайное число: " + str(random.randint(0, 1500)))
elif message.text == '❓Случайно число от 0 до 2000❓':
bot.send_message(message.chat.id, "Вот твое случайное число: " + str(random.randint(0, 2000)))
elif message.text == '❓Случайно число от 0 до 2500❓':
bot.send_message(message.chat.id, "Вот твое случайное число: " + str(random.randint(0, 2500)))
elif message.text == '🎲Кости🎲':
bot.send_message(message.chat.id, str(random.randint(1, 6)))
elif message.text == '🪙Орёл и Решка🪙':
oir = choice(['Орёл', 'Решка'])
bot.send_message(message.chat.id, oir)
elif message.text == '🚪Главное меню🚪':
markup = types.ReplyKeyboardMarkup(resize_keyboard=True, row_width=2)
InfoBot = types.KeyboardButton("📃Информация о боте📃")
Predl = types.KeyboardButton("📋Предложение улучшение для бота📋")
SocSeti = types.KeyboardButton("📱Социальные Сети создателя📱")
Drugoe = types.KeyboardButton("🗂Другое🗂")
markup.add(InfoBot, Predl, SocSeti, Drugoe)
bot.send_message(message.chat.id, "Выбирай!", reply_markup=markup)
# The end otvets menu
# Beginning kyrs valut
message1 = message.text.strip().lower()
if message1 in ['usd', 'eur', 'gbp']:
rates = ExchangeRates(datetime.now())
bot.send_message(message.chat.id, f"{message1.upper()} Current course: {float(rates[message1.upper()].rate)} ₽")
# The end kyrs valut
#Beginning kyrs krypto
crypto_id = message.text
price = (api.get_price(ids=crypto_id, vs_currencies=valuta))
if price:
price = price[crypto_id][valuta]
else:
bot.send_message(message.chat.id, "Я тебя не понимаю!")
return
bot.send_message(message.chat.id, f"Price of {crypto_id}: {price}$")
# The end kyrs krypto
bot.polling(none_stop=True)