Всем привет! Уже все давно знают, что Telegram круче ватсаппа. Из его плюсов выделяются фичи. Одна из крутейших фич "телеги" являются боты. Мы будим создавать для примера бота для игры "Камень, ножницы, бумага".
Ну что ж, начнем!
Для начала создадим самого бота. Заходим в бота @BotFather и нажимаем "Запустить", дальше вбиваем команду /newbot и придумываем ему название и юзернейм.
Дальше мы получим токен который нам потом понадобится.
Далее можно заняться аватаркой, описанием... Но это необязательно. Так что ж — переходим к программированию.
Для начала установим либу под названием pyTelegramBotApi. Устанавливаем вот такой командой:
pip install pyTelegramBotApi
Дальше импортируем 3 модуля: pyTelegramBotApi, random и модуль из pyTelegramBotApi под названиям types:
import telebot
import random
from telebot import types
Модуль types из telebot нужен для клавиатуры бота (типо кнопок снизу поля для ввода сообщения).
После импорта для нас необходимых библиотек нам нужно создать переменную для токена (ну что будим писать 1255960587:AAHhjA7Aa-78YCmNnjE6HqwxL5wD1yfnCPw :)?):
TOKEN = '<ваш токен>'
Дальше нам обязательно надо добавить объект класса telebot.TeleBot и передать в качестве параметра наш токен:
bot = telebot.TeleBot(TOKEN)
Нам также надо будет делать ответ на старт игры (на команду /start). Для этого необходимо создать функцию с декоратором @bot.message_handler:
@bot.message_handler(commands=['start'])
def game_start(message):
pass # на пока что
И давайте вместо pass поставим "Камень, ножницы, бумага раз, два, три!":
def game_start(message):
bot.send_message(message.chat.id, 'Камень🤜, ножницы✌️, бумага✋, раз, два, три! Выберите жест:')
Ну что ж, теперь нам надо создать "клаву":
def game_start(message):
# Build keyboard
keyboard = types.ReplyKeyboardMarkup(resize_keyboard=False)
btn1 = types.KeyboardButton('Камень🤜')
btn2 = types.KeyboardButton('Ножницы✌️')
btn3 = types.KeyboardButton('Бумага✋')
keyboard.add(btn1, btn2, btn3) # Добавляем кнопки
bot.send_message(message.chat.id, 'Камень🤜, ножницы✌️, бумага✋, раз, два, три! Выберите жест:', reply_markup=keyboard)
Теперь давайте сделаем реакцию на нажатию кнопок. Для этого надо создать новую функцию с декоратором @bot.message_handler, только с другими параметрами.
Ну что ж пора запускать! Ну стоп, стоп я забыл запустить long polling:
bot.polling(none_stop=True)
Вот теперь можно запускать и проверять.
В итоге код бота уместился в 40 строк кода:
Так что все друзья — мы сделали Telegram-бота. Подписывайтесь на наш канал (и также Telegram-канал), ставь лайк если хочешь продолжение этой темы и делись этой статьей — она для многих окажется полезна. А так всем пока!