Найти тему
Jam-IT

Как написать бота на Python

Оглавление

1 шаг: скачиваем Visual Studio Code с официального сайта.

Дальше делаем все по инструкции:

Принимаем условия соглашения и нажимаем кнопку "Далее"
Принимаем условия соглашения и нажимаем кнопку "Далее"

-2
-3

Устанавливаем официальную версию Python:

открываем Python
открываем Python

Установка Python

Нажимаем на "Uninstall"
Нажимаем на "Uninstall"

Выбираем Python File:

-6

2 шаг: Открываем CMD-терминал.

Нажимаем комбинацию "Win + x"

Запускаем Терминал от имени "Администратора"
Запускаем Терминал от имени "Администратора"

3 шаг: Устанавливаем нужные библиотеки.

прописываем - pip install python-telegram-bot
прописываем - pip install pyTelegramBotAPI
прописываем - !pip install pyTelegramBotAPI

установили библиотеку - pip install python-telegram-bot.
установили библиотеку - pip install python-telegram-bot.
установили библиотеку - pip install pyTelegramBotAPI. Так же устанавливаем библиотеку - !pip install pyTelegramBotAPI.
установили библиотеку - pip install pyTelegramBotAPI. Так же устанавливаем библиотеку - !pip install pyTelegramBotAPI.

4 шаг: Начинаем писать код бота.

import telebot
from telebot import types
token = 'ТУТ_ДОЛЖЕН_БЫТЬ_ВАШ_ТОКЕН'
bot = telebot.TeleBot(token)
#начало разговора с помощью команды /start
@bot.message_handler(commands=['start'])
def start_message(message):
markup = types.ReplyKeyboardMarkup(resize_keyboard=True, one_time_keyboard=True)
itembtn1 = types.KeyboardButton('Как тебя зовут?')
itembtn2 = types.KeyboardButton('Что ты можешь?')
markup.row(itembtn1)
markup.row(itembtn2)
bot.send_message(message.chat.id, "Выберите опцию", reply_markup=markup)
bot.infinity_polling()

Итог кода:

-10
-11

Отформатировать код можно в телеграмм боте - https://t.me/Jamal_tg_bot или @Jamal_tg_bot Там же можно узнать подробно о кодах для ботов

При команде /start бот отправит сообщение "Выберите опцию", предложив две кнопки: "Как тебя зовут?" и "Что ты можешь?"

Если вы хотите чтобы кнопки небыли в ряд, то можно реализовать вот так:

itembtn1 = types.KeyboardButton('Как тебя зовут?')
itembtn2 = types.KeyboardButton('Что ты можешь?')
itembtn3 = types.KeyboardButton('Помощь')
markup.row(itembtn1, itembtn2)
markup.row(itembtn3)

Итог кода:

-12

-13

5 шаг: Тригер бота на кнопки.

Пишем ниже строчки - "bot.send_message(message.chat.id, "Выберите опцию", reply_markup=markup)"

#отвечает на кнопку "Как тебя зовут?"
@bot.message_handler(func=lambda message: message.text == 'Как тебя зовут?')
def start_message(message):
markup = types.ReplyKeyboardMarkup(resize_keyboard=True, one_time_keyboard=True)

bot.send_message(message.chat.id,"Я бот Имя, и я пока могу ответь на некоторые команды!", reply_markup=markup)

-14

-15

Так же и с остальными:

Функция - markup = types.ReplyKeyboardMarkup(resize_keyboard=True, one_time_keyboard=True) в "Помощи" должна быть после def start_message(message):
Функция - markup = types.ReplyKeyboardMarkup(resize_keyboard=True, one_time_keyboard=True) в "Помощи" должна быть после def start_message(message):

-17

Итог кода:

#отвечает на кнопку "Как тебя зовут?"
@bot.message_handler(func=lambda message: message.text == 'Как тебя зовут?')
def start_message(message):
markup = types.ReplyKeyboardMarkup(resize_keyboard=True, one_time_keyboard=True)
bot.send_message(message.chat.id,"Я бот Имя, и я пока могу ответь на некоторые команды!", reply_markup=markup)
#отвечает на кнопку "Что ты можешь?"
@bot.message_handler(func=lambda message: message.text == 'Что ты можешь?')
def start_message(message):
markup = types.ReplyKeyboardMarkup(resize_keyboard=True, one_time_keyboard=True)
bot.send_message(message.chat.id,"У меня еще мало функций", reply_markup=markup)
#отвечает на кнопку "Помощь"
@bot.message_handler(func=lambda message: message.text == 'Помощь')
def start_message(message):
markup = types.ReplyKeyboardMarkup(resize_keyboard=True, one_time_keyboard=True)
itembtn1 = types.KeyboardButton('Нужен оператор')
itembtn2 = types.KeyboardButton('Хочу предложить рекламу')
markup.row(itembtn1, itembtn2)
bot.send_message(message.chat.id,"Чем я могу Вам помочь?", reply_markup=markup)

Полный код:

import telebot
from telebot import types
token = 'ВАШ_ТОКЕН'
bot = telebot.TeleBot(token)
# начало разговора с помощью команды /start
@bot.message_handler(commands=['start'])
def start_message(message):
markup = types.ReplyKeyboardMarkup(resize_keyboard=True, one_time_keyboard=True)
itembtn1 = types.KeyboardButton('Как тебя зовут?')
itembtn2 = types.KeyboardButton('Что ты можешь?')
itembtn3 = types.KeyboardButton('Помощь')
markup.row(itembtn1, itembtn2)
markup.row(itembtn3)
bot.send_message(message.chat.id, "Выберите опцию", reply_markup=markup)
#отвечает на кнопку "Как тебя зовут?"
@bot.message_handler(func=lambda message: message.text == 'Как тебя зовут?')
def start_message(message):
markup = types.ReplyKeyboardMarkup(resize_keyboard=True, one_time_keyboard=True)
bot.send_message(message.chat.id,"Я бот Имя, и я пока могу ответь на некоторые команды!", reply_markup=markup)
#отвечает на кнопку "Что ты можешь?"
@bot.message_handler(func=lambda message: message.text == 'Что ты можешь?')
def start_message(message):
markup = types.ReplyKeyboardMarkup(resize_keyboard=True, one_time_keyboard=True)
bot.send_message(message.chat.id,"У меня еще мало функций", reply_markup=markup)
#отвечает на кнопку "Помощь"
@bot.message_handler(func=lambda message: message.text == 'Помощь')
def start_message(message):
markup = types.ReplyKeyboardMarkup(resize_keyboard=True, one_time_keyboard=True)
itembtn1 = types.KeyboardButton('Нужен оператор')
itembtn2 = types.KeyboardButton('Хочу предложить рекламу')
markup.row(itembtn1, itembtn2)
bot.send_message(message.chat.id,"Чем я могу Вам помочь?", reply_markup=markup)
bot.infinity_polling()
Наука
7 млн интересуются