
Всем привет! Никогда не видели чтобы слесари были админом канала? Так вот сейчас я вам это и покажу! Его зовут Петрович, он слесарь 8 разряда, ему 40 лет и он приколист :-)
Его единственный недостаток в том, что он не реальный человек а бот работающий на нейросетке. О том как я это делал, и как LLM мне в этом помогли, я и хочу вам рассказать! Поехали.
Идея (Иде я нахожуся?)
В общем это было простое решение. Давно хотел написать какого нибудь телеграмм бота. До этого я не писал телеграм ботов, точнее писал но на уровне получил сообщение, ответил заготовленным текстом. В пятницу я предаваясь ностальгии по IRC вспомнил что в ирке в сообществах часто были прикольные боты развлекающие пользователей и отвечающих заготовленными фразами и умеющих кикать пользователей (Были распространены игры вроде русской рулетки). Но сейчас то повсюду БЯМ (большие языковые модели), LLM и вообще всякие нейросетки. Значит сейчас бот может быть значительно умнее! Я не хотел сразу делать что то масштабное, поэтому появился бот-приколист.

2. Цена вопроса и что понадобится
Понадобится совсем немного: некоторый навык работы на Python, комп, 5-12 часов работы и какой нибудь сервачок на 1Гб оперативы (Но можно обойтись и без него), так же очень желательно оплатить какой нибудь сервис LLM. Я потратил на это примерно 500 рублев. Сервер стоит около 300 рублей в месяц. Итого 800 руб.
3. Реализация (скоростная с помощью дипсик)
Сразу скажу я не просил deepseek писать код для меня. Как по мне это не только провальный путь, но и более длительный. Мне хватает багов которые я сам в код вношу :-). Не хватало еще дебажить баги дипсика. Я им пользовался как справочником, для поиска нужных методов и особенностей протокола телеграмм, но блин каким же кайфом стала разработка ПО в этом смысле. StackOverflow просто отдыхает! Найти нужный метод - пожалуйста, не знаешь из за чего возникла ошибка- предложит варианты и объяснит принцип работы. Скорость увеличивается в разы! Но это если не просить его писать код. С генерацией кода как по мне скорость наоборот уменьшается.
Реализовывал на Python либах telebot и OpenAI. Это кстати не говорит что используя библиотеку OpenAI вы привязаны именно к chatgpt. Эта либа может использоваться практически со всеми существующими LLM меняете адрес, токен и вперед!
Полагаю не буду приводить весь код хотя он и занимает всего примерно 250 строк, но основную структуру и вехи приведу.
import telebot
from openai import OpenAI
from src.processing import process_group_messages, process_single_message
client_open_ai = OpenAI( api_key='**********llm token ********', )
#создание клиента к LLM
bot = telebot.TeleBot('******************telegramm token*********************')
#создает экземпляр клиента телебота
@bot.message_handler(content_types=['text', 'photo']) # хендлер для ловли сообщений
def get_text_messages(message: telebot.types.Message): # функция обработки входящих
if message.from_user.is_bot or (message.chat.id not in chat_ids):
#боту нельзя отвечать ботам
return
if message.chat.type in ['group', 'supergroup']: #для ответа только в чате а не в личке
if message.media_group_id: #отвечаем только на сообщения в канале
process_single_message(bot, message, client_open_ai) # обработка сообщения и ответ
bot.polling(none_stop=True, interval=1) #запуск и работа бота
Вот и все! Здесь опущена незначимая часть кода, но структура мне кажется понятна и проста. Пока кстати история в чате не применяется к ответам.
А это код для обращения к LLM :
response = client_open_ai.responses.create(
model="your_model",
instructions="Здесь нужно описать твою ситуацию не зависящую от сообщений",
input=[
{
"role": "user",
"content": content
}
]
)
4. Для чего все это?
Это конечно субботний пробный кейс-туториал просто for fun но!
Представляете какие это возможности вам дает?
Можно боту поручить ответы на чато задаваемые или типовые вопросы, можно вести квизы, опросы, викторины и другие игры, можно заставить его принимать заявки. Можно заставить делать анализ общения в канале, можно заставить его модерировать и обучать и все это за несколько часов и небольшое количество денег. И качество этих применений не идет ни в какое сравнение с качеством ботов еще 10 лет назад!
Конкретно своему боту я внушил, что он слесарь с задатками юмориста, что зовут его Петрович и попросил его мягко подкалывать пользователей при их вопросам и с юмором комментировать выходящие посты на канале. Справляется он с этим иногда не очень, но чаще его ответы все таки заставляют меня улыбнуться. А это именно то к чему я изначально и стремился, потому, что люди на мой канал (как я считаю) приходят пообщаться за технику и хорошим настроением.
Вот пару примеров.


5. Как итог
В общем то целью этого поста было три вещи.
Показать новичкам что свой нейробот в телеграмме это просто и совсем недолго
Дать минимальный туториал как его написать
Восхитится насколько удобно стало пользоваться БЯМ в качестве справочника
Возможно сподвигнуть кого то написать своего бота
....
Profit!
И если хотя бы 2 из 4 целей мной были выполнены, я уже буду считать что писал не зря!
Ну а в конце я конечно дам адрес моего ТГ канала чтобы вы могли самостоятельно потестить зародыш Петровича. Почему зародыш? Потому что я собираюсь к нему приделать еще много всего интересного!
Мой ТГ канал: https://t.me/akiman_sa
Всех благ!