Guest User

telegram bot on python

a guest
Jul 16th, 2020
430
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 4.97 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.  
  55.         else:
  56.             bot.send_message(message.chat.id, 'Я не знаю что ответить 😢')
  57.  
  58. @bot.callback_query_handler(func=lambda call: True)
  59. def callback_inline(call):
  60.     try:
  61.         if call.message:
  62.             if call.data == 'good':
  63.                 bot.send_message(call.message.chat.id, 'Вот и отличненько 😊')
  64.             elif call.data == 'bad':
  65.                 bot.send_message(call.message.chat.id, 'Не расстраивайся! Я уверен, что всё наладится!')
  66.             elif call.data == 'so-so':
  67.                 bot.send_message(call.message.chat.id, 'Бывает 😢')
  68.  
  69.                 # remove inline buttons
  70.             bot.edit_message_text(chat_id=call.message.chat.id, message_id=call.message.message_id, text="😊 Как дела?",
  71.                 reply_markup=None)
  72.  
  73.             # show alert
  74.             bot.answer_callback_query(callback_query_id=call.id, show_alert=False,
  75.                 text="Спасибо за ответ!")
  76.  
  77.     except Exception as e:
  78.         print(repr(e))
  79.  
  80. @bot.callback_query_handler(func=lambda call: True)
  81. def callback_inline(call):
  82.     try:
  83.         if call.message:
  84.             if call.data == 'one':
  85.                 bot.send_message(call.message.chat.id, 'В пожарном депо звонит телефон. Дежурный — слушаю. Из трубки голос — Слышь пацаны, в прошлом году посадил коноплю, выросла бестолковая, ни какого кайфа не дает. '
  86.                 'Дежурный отвечает — Ты придурок, куда звонишь? Звони в наркологию там тебе помогут. И бросает трубку. Минут через двадцать опять звонок — А в этом году посадил, выросла хорошая, нахлобучивает так что крышу сносит!!! '
  87.                 'Ему ответ — тебе же сказали, звони в наркологию. И опять трубку бросают. Через полчаса снова телефон — Пацаны не бросайте трубку... Я чё звоню... У соседа дом горит... когда приедете, и будете со шлангами бегать... смотрите не потопчите!!!')
  88.             elif call.data == 'two':
  89.                 bot.send_message(call.message.chat.id, '2')
  90.             elif call.data == 'three':
  91.                 bot.send_message(call.message.chat.id, '3')
  92.  
  93.             sti = open('stickers/lol_cherry.tgs', 'rb')
  94.             bot.send_sticker(message.chat.id, sti)
  95.  
  96.             # remove inline buttons
  97.             bot.edit_message_text(chat_id=call.message.chat.id, message_id=call.message.message_id, text1="😂 Анекдот",
  98.                 reply_markup=None)
  99.  
  100.             # show alert
  101.             bot.answer_callback_query(callback_query_id=call.id, show_alert=False,
  102.                 text="Спасибо за ответ!")
  103.  
  104.     except Exception as e:
  105.         print(repr(e))
  106.  
  107. # RUN
  108. bot.polling(none_stop=True)
Advertisement
Add Comment
Please, Sign In to add comment