Orale
Участник
- Статус
- offline
- Регистрация
- 08.04.2018
- Сообщения
- 30
- Репутация
- 38
Дорогой друг, если ты читаешь эту статью, то ты наверняка хочешь научится создавать ботов в телеграмме. Но спешу тебя огорчить, если ты полный 0 в программировании, да и собственно в языке Python, то тебе стоит посмотреть парочку видео уроков, чтобы понять что тут происходит, ну а если ты и без подготовки сможешь понять весь этот обьем информации, то вообще красавчик!
Я решил, что в этом примере, я буду освещать написания бота, который будет высылать нам рандомные четверостишия, да да, бот будет простым, но начинать надо с малого
Итак, давайте же уже преступим к написанию кода.
Для начала нам нужно установить библиотеку pyTelegramBotAPI
Пишем в терминале эту команду -
Затем мы залетаем к Бате Боту(BotFather ) в Телеграмме и берем у него токен.
Ну считай, что пол дела сделано, и легкая часть закончилась
Заходим в вашу среду разработки, лично я юзаю PyCharm
Создаем main.py и импортируем все необходимые библиотеки
Далее к нашей программе подключаем TOKEN, который выдал вам BotFather
Теперь сделаем так, чтобы бот реагировал на начальную команду /start и отправлял какое-либо приветственное сообщение
И в самом конце кода добавим, чтобы наш бот не вырубался сразу после того, как мы его запустим
Ну и давайте посмотрим, что наш бот теперь умеет.
Так, уже не плохо, но давайте вернемся к функционалу, который я задумал
Создадим теперь список со стишками
Теперь, давайте создадим клавиатуру
Ну и добавим ее, чтобы она показывалась при старте бота. И изменим стартовое сообщение
Вот так сейчас выглядит код нашего бота
Так, ну и что же нам осталось? Нам осталось сделать, чтобы бот реагировал на кнопку клавиатуры
Это будет очень похоже, на то что мы сделали со стартовым обращением, только бот будет теперь реагировать на текст
Ну и давайте протестируем!
Вроде бы все работает!
И теперь вот так выглядит готовый код нашего простого бота
Спасибо что прочитали мою статью, не судите строго, она у меня такая первая(Полномасштабная)
В следующей статье, мы подключим базу данных к боту, чтобы мы могли вести статику пользователей, личный кабинет пользователя и оплату с автоматическим зачислением QIWI (Ну чтоб была), да и запустим его на бесплатном сервере
Напишите, если вам будет интересная статья о создание бота, но уже в ВК, которого можно добавлять в беседы и т.д
p.s Вы также можете у меня ботов заказать для своих нужд)
Я решил, что в этом примере, я буду освещать написания бота, который будет высылать нам рандомные четверостишия, да да, бот будет простым, но начинать надо с малого
Итак, давайте же уже преступим к написанию кода.
Для начала нам нужно установить библиотеку pyTelegramBotAPI
Пишем в терминале эту команду -
Python:
pip install pyTelegramBotAPI
Затем мы залетаем к Бате Боту(BotFather ) в Телеграмме и берем у него токен.
Ну считай, что пол дела сделано, и легкая часть закончилась
Заходим в вашу среду разработки, лично я юзаю PyCharm
Создаем main.py и импортируем все необходимые библиотеки
Python:
import telebot
from telebot import types
Далее к нашей программе подключаем TOKEN, который выдал вам BotFather
Python:
bot = telebot.TeleBot('Тут ваш токен')
Теперь сделаем так, чтобы бот реагировал на начальную команду /start и отправлял какое-либо приветственное сообщение
Python:
@bot.message_handler(commands=['start'])
def get_docs(message):
bot.send_message(message.chat.id, 'Привет, я твой бот!')
И в самом конце кода добавим, чтобы наш бот не вырубался сразу после того, как мы его запустим
Python:
while True:
bot.polling()
Ну и давайте посмотрим, что наш бот теперь умеет.
Так, уже не плохо, но давайте вернемся к функционалу, который я задумал
Создадим теперь список со стишками
Python:
poems = []
first = '''И труд нелеп, и бестолкова праздность,
И с плеч долой всё та же голова,
Когда приходит бешеная ясность,
Насилуя притихшие слова.
'''
second ='''Природа с красоты своей
Покрова снять не позволяет,
И ты машинами не вынудишь у ней,
Чего твой дух не угадает.
'''
third = '''- Это кто упал? Серёжа?
- Нет, не он, - его одёжа.
- Что же стукнула одёжа?
- В середине был Серёжа.
'''
poems.append(first)
poems.append(second)
poems.append(third)
Теперь, давайте создадим клавиатуру
Python:
markup = types.ReplyKeyboardMarkup(resize_keyboard=True)
itembtn1 = types.KeyboardButton('Хочу стих')
markup.add(itembtn1)
Ну и добавим ее, чтобы она показывалась при старте бота. И изменим стартовое сообщение
Вот так сейчас выглядит код нашего бота
Python:
import telebot
from telebot import types
import random
bot = telebot.TeleBot('980646645:AAHPWjFk8P5lMXxoC2sIHptVTRHGk_CDmd0')
@bot.message_handler(commands=['start'])
def get_docs(message):
bot.send_message(message.chat.id, 'Привет, я твой бот!')
markup = types.ReplyKeyboardMarkup(resize_keyboard=True)
itembtn1 = types.KeyboardButton('Хочу стих')
markup.add(itembtn1)
bot.send_message(message.chat.id, "Что ты хочешь?", reply_markup=markup)
first = '''И труд нелеп, и бестолкова праздность,
И с плеч долой всё та же голова,
Когда приходит бешеная ясность,
Насилуя притихшие слова.
'''
second ='''Природа с красоты своей
Покрова снять не позволяет,
И ты машинами не вынудишь у ней,
Чего твой дух не угадает.
'''
third = '''- Это кто упал? Серёжа?
- Нет, не он, - его одёжа.
- Что же стукнула одёжа?
- В середине был Серёжа.
'''
poems.append(first)
poems.append(second)
poems.append(third)
while True:
bot.polling()
Так, ну и что же нам осталось? Нам осталось сделать, чтобы бот реагировал на кнопку клавиатуры
Это будет очень похоже, на то что мы сделали со стартовым обращением, только бот будет теперь реагировать на текст
Python:
@bot.message_handler(content_types=['text'])
def send_poem(message):
markup = types.ReplyKeyboardMarkup(resize_keyboard=True)
itembtn1 = types.KeyboardButton('Хочу стих')
markup.add(itembtn1)
if message.text == 'Хочу стих':
bot.send_message(message.chat.id, random.choice(poems), reply_markup=markup)
else:
bot.send_message(message.chat.id, 'Нет такой команды(')
Ну и давайте протестируем!
Вроде бы все работает!
И теперь вот так выглядит готовый код нашего простого бота
Python:
import telebot
from telebot import types
import random
bot = telebot.TeleBot('980646645:AAHPWjFk8P5lMXxoC2sIHptVTRHGk_CDmd0')
@bot.message_handler(commands=['start'])
def get_docs(message):
bot.send_message(message.chat.id, 'Привет, я твой бот!')
markup = types.ReplyKeyboardMarkup(resize_keyboard=True)
itembtn1 = types.KeyboardButton('Хочу стих')
markup.add(itembtn1)
bot.send_message(message.chat.id, "Что ты хочешь?", reply_markup=markup)
@bot.message_handler(content_types=['text'])
def send_poem(message):
markup = types.ReplyKeyboardMarkup(resize_keyboard=True)
itembtn1 = types.KeyboardButton('Хочу стих')
markup.add(itembtn1)
if message.text == 'Хочу стих':
bot.send_message(message.chat.id, random.choice(poems), reply_markup=markup)
else:
bot.send_message(message.chat.id, 'Нет такой команды(')
poems = []
first = '''И труд нелеп, и бестолкова праздность,
И с плеч долой всё та же голова,
Когда приходит бешеная ясность,
Насилуя притихшие слова.
'''
second ='''Природа с красоты своей
Покрова снять не позволяет,
И ты машинами не вынудишь у ней,
Чего твой дух не угадает.
'''
third = '''- Это кто упал? Серёжа?
- Нет, не он, - его одёжа.
- Что же стукнула одёжа?
- В середине был Серёжа.
'''
poems.append(first)
poems.append(second)
poems.append(third)
while True:
bot.polling()
Спасибо что прочитали мою статью, не судите строго, она у меня такая первая(Полномасштабная)
В следующей статье, мы подключим базу данных к боту, чтобы мы могли вести статику пользователей, личный кабинет пользователя и оплату с автоматическим зачислением QIWI (Ну чтоб была), да и запустим его на бесплатном сервере
Напишите, если вам будет интересная статья о создание бота, но уже в ВК, которого можно добавлять в беседы и т.д
p.s Вы также можете у меня ботов заказать для своих нужд)
Последнее редактирование: