Guest User

telegram bot on python (correct version)

a guest
Jul 17th, 2020
90
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 4.51 KB | None | 0 0
  1. import telebot
  2. import config
  3. import random
  4.  
  5. from telebot import types
  6.  
  7. bot = telebot.TeleBot(config.TOKEN)
  8.  
  9. @bot.message_handler(commands = ['start'])
  10. def welcome(message):
  11.     sti = open('stickers/hi.webp', 'rb')
  12.     bot.send_sticker(message.chat.id, sti)
  13.  
  14.     markup = types.ReplyKeyboardMarkup(resize_keyboard=True)
  15.     item1 = types.KeyboardButton ("🎲 Рандомное число")
  16.     item2 = types.KeyboardButton ("😊 Как дела?")
  17.     item3 = types.KeyboardButton ("😂 Анекдот")
  18.  
  19.     markup.add(item1, item2, item3)
  20.  
  21.     bot.send_message(message.chat.id, "Добро пожаловать, {0.first_name}!\nЯ - <b>{1.first_name}</b>, бот чтобы тебе помогать.".format(message.from_user, bot.get_me()),
  22.         parse_mode='html', reply_markup = markup)
  23.     bot.send_message(message.chat.id, "Мои навыки представлены ниже ↓".format(message.from_user, bot.get_me()),
  24.         parse_mode='html', reply_markup = markup)
  25.  
  26. @bot.message_handler(content_types=['text'])
  27. def lalala(message):
  28.     if message.chat.type == 'private':
  29.         if message.text == '🎲 Рандомное число':
  30.             bot.send_message(message.chat.id, str(random.randint(0,100)))
  31.         elif message.text == '😊 Как дела?':
  32.  
  33.             markup = types.InlineKeyboardMarkup(row_width=3)
  34.             item1 = types.InlineKeyboardButton("Хорошо", callback_data='good')
  35.             item2 = types.InlineKeyboardButton("Плохо", callback_data='bad')
  36.             item3 = types.InlineKeyboardButton("Не очень", callback_data='so-so')
  37.  
  38.             markup.add(item1, item2, item3)
  39.  
  40.             sti = open('stickers/like.webp', 'rb')
  41.             bot.send_sticker(message.chat.id, sti)
  42.             bot.send_message(message.chat.id, 'Отлично, как у тебя?', reply_markup=markup)
  43.  
  44.         elif message.text == '😂 Анекдот':
  45.  
  46.             markup = types.InlineKeyboardMarkup(row_width=3)
  47.             item1 = types.InlineKeyboardButton("1", callback_data='one')
  48.             item2 = types.InlineKeyboardButton("2", callback_data='two')
  49.             item3 = types.InlineKeyboardButton("3", callback_data='three')
  50.  
  51.             markup.add(item1, item2, item3)
  52.  
  53.             bot.send_message(message.chat.id, 'Выбери анекдот:', reply_markup=markup)
  54.             sti = open('stickers/lol_cherry.tgs', 'rb')
  55.             bot.send_sticker(message.chat.id, sti)
  56.  
  57.         else:
  58.             bot.send_message(message.chat.id, 'Я не знаю что ответить 😢')
  59.  
  60. @bot.callback_query_handler(func=lambda call: True)
  61. def callback_inline(call):
  62.     try:
  63.         if call.message:
  64.             if call.data == 'good':
  65.                 bot.send_message(call.message.chat.id, 'Вот и отличненько 😊')
  66.             elif call.data == 'bad':
  67.                 bot.send_message(call.message.chat.id, 'Не расстраивайся! Я уверен, что всё наладится!')
  68.             elif call.data == 'so-so':
  69.                 bot.send_message(call.message.chat.id, 'Бывает 😢')
  70.             elif call.data == 'one':
  71.                 bot.send_message(call.message.chat.id, 'В пожарном депо звонит телефон. Дежурный — слушаю. Из трубки голос — Слышь пацаны, в прошлом году посадил коноплю, выросла бестолковая, ни какого кайфа не дает. '
  72.                 'Дежурный отвечает — Ты придурок, куда звонишь? Звони в наркологию там тебе помогут. И бросает трубку. Минут через двадцать опять звонок — А в этом году посадил, выросла хорошая, нахлобучивает так что крышу сносит!!! '
  73.                 'Ему ответ — тебе же сказали, звони в наркологию. И опять трубку бросают. Через полчаса снова телефон — Пацаны не бросайте трубку... Я чё звоню... У соседа дом горит... когда приедете, и будете со шлангами бегать... смотрите не потопчите!!!')
  74.             elif call.data == 'two':
  75.                 bot.send_message(call.message.chat.id, '2')
  76.             elif call.data == 'three':
  77.                 bot.send_message(call.message.chat.id, '3')
  78.  
  79.                 # remove inline buttons
  80.             bot.edit_message_text(chat_id=call.message.chat.id, message_id=call.message.message_id, text="😊 Как дела?",
  81.                 reply_markup=None)
  82.  
  83.             # show alert
  84.             bot.answer_callback_query(callback_query_id=call.id, show_alert=False,
  85.                 text="Спасибо за ответ!")
  86.  
  87.     except Exception as e:
  88.         print(repr(e))
  89.  
  90. # RUN
  91. bot.polling(none_stop=True)
Advertisement
Add Comment
Please, Sign In to add comment