Найти тему
luckkyboi

Написание своего собственного телеграм бота для любых целей Часть#2

В данной части мы напишем простого бота-повторюшку.

Создаём новый файл.py, например, bot.py

bot.py
bot.py

Открываем этот файл и создаём шаблон:

import os
from datetime import datetime
import time
import telebot
from telebot import types
TOKEN = "1979294558:AA...##наш токен, полученный у https://t.me/BotFather
print("Bot started")
knownUsers = []
userStep = {}
def get_user_step(uid):
if uid in userStep:
return userStep[uid]
else:
knownUsers.append(uid)
userStep[uid] = 'start'
print("User detected")
return 0
# only used for console output now
def listener(messages):
m = messages[0]
for m in messages:
if m.content_type == 'text':
# вывод в консоль всех пользовательских сообщений
current_datetime = datetime.now()
print(str(current_datetime) + ' ' + str(m.chat.first_name) + " [" + str(m.chat.id) + "]: " + m.text + ' @' + str(m.from_user.username))
bot = telebot.TeleBot(TOKEN)
bot.set_update_listener(listener) # register listener
@bot.message_handler(commands=['start'])
##обработка сообщения/start
def start(m):
cid = m.chat.id
bot.send_message(cid, "Привет, я бот-пример, созданный по статьям https://zen.yandex.ru/id/61537e02c9826b7c9eeea05e")
userStep[cid] = 'main'
@bot.message_handler(func=lambda message: message.text == "Помощь")

##обработка сообщения Помощь

def Help(m):
cid = m.chat.id
string = "Данный бот является рабочим примером, созданным по статьям https://zen.yandex.ru/id/61537e02c9826b7c9eeea05e"
bot.send_message(cid, string)

userStep[cid] = 'main'


@bot.message_handler(func=lambda message: message.text) ##обработка любых сообщений

def command_default(m):
# this is the standard reply to a normal message
cid = m.chat.id
bot.send_message(cid, m.text)
userStep[cid] = 'main'

while True: ##для постоянной работы бота

try:
bot.polling(none_stop=True, interval=1)
except Exception:
pass

Запустив программу можем попробовать ему что-нибудь написать:

-3

Протестировать его можно по ссылке:

https://t.me/dzenex_bot

Вот и готов наш шаблон для нашего проекта!