Где запустить Телеграмм бота

Содержание

Данная статья написана по видео-ролику «ChatGPT OpenAI в Telegram на Python / Пишем Telegram-бота ChatGPT на Питоне» c небольшим дополнением — добавил в код проверку по id в телеграме.
Как ограничить доступ к боту телеграм (aiogram) — об этом читайте в конце данной статьи.

Если вы не сталкивались с питоном, то необходимо установить его. О том, как это сделать, подробно описано здесь.

Теперь приступим к созданию бота ChatGPT в Telegram.

Установка библиотек для телеграм-бота:

Первое, что нам нужно сделать — это установить библиотеки aiogram и OpenAI:

  • Чтобы установить aiogram, введите в терминале:

pip install aiogram

  • Чтобы установить OpenAI, введите в терминале:

pip install openai

Регистрация в OpenAI:

Чтобы добавить функционал ChatGPT в Telegram, для начала, необходимо зарегистрироваться здесь — https://platform.openai.com, о том как зарегистрировать аккаунт в ChatGPT на территории РФ, снято уже очень много видео.

За 10 минут — выгрузка (деплой) телеграм-бота на хостинг и его запуск.


Далее переходим в раздел API Keys и нажимаем кнопку «Create new secret key», копируем получившийся ключ.

Как создать бота в телеграм:

  • Переходим по ссылке выше и запускаем бота, нажимаем кнопку «Меню»
  • Вводим любое имя для нашего бота, отправляем сообщение
  • Вводим логин нашего бота, по которому мы сможем его найти. Важно: login должен оканчиваться на bot (Пример правильного логина: illarion_bot), а так же логин должен быть уникальным
  • Копируем токен API нашего бота (начинается после слов — «Use this token to access the HTTP API:»)

Пишем код телеграм-бота на Python:

Создаем любой файл с расширением .py , а в сам файл вставляем следующий код:

Замените токены Телеграм и OpenAI в коде на те, что мы получили выше.
Прописываются они здесь (строки кода номер 7 и 8):

token = ‘TELEGRAM_BOT_TOKEN’ openai.api_key = ‘OPENAI_KEY’

В данном коде используется языковая модель text-davinci-003, т.е. — Чат. Чтобы использовать другие модули — перейдите в раздел «Examples«, выберите необходимый модуль и замените фрагмент кода:

response = openai.Completion.create( model=»text-davinci-003″, prompt=message.text, temperature=0.9, max_tokens=4000, top_p=1.0, frequency_penalty=0.0, presence_penalty=0.6, stop=[» Human:», » AI:»] )

Замените данный фрагмент на аналогичный код из описания нужного модуля (начинается с «response =» и заканчивается «)»

Все это было пересказом видео одного программиста, бот мы создали и теперь то, зачем я пишу данную статью и то, что может помочь многим начинающим разработчикам на python.

Если вы запускаете код на GNU/Linux дистрибутивах, то на вторую строчку, после фрагмента import openai вставьте следующую строку:

import os

Как ограничить доступ к боту телеграм (aiogram)?

Находим строку 12, (пустая строка после dp = Dispatcher(bot), и в пустой строке вставляем следующий код:

users = — в фигурных скобках, через запятую, перечисляется id пользователей телеграма (вводить только числа), которые допущены к данному боту.

КАК СДЕЛАТЬ ТЕЛЕГРАМ БОТА СОБЕСЕДНИКА НА PYTHON?


Узнать свой id в телеграме можно тут. Подставляем свои id, заменяем текст в скобках после message.answer (если это необходимо, так же не забывайте обернуть свой текст в кавычки «»)

Как сделать проверку по количеству введенных символов пользователя в aiogram?

Если количество введенных символов превышает 2000 — выводится ошибка с пояснением. Код следующий:

Если вы не делали проверку по id телеграм, то код вставляем на строку номер 12, (пустая строка после dp = Dispatcher(bot), и в пустой строке вставляем данный код.
Если вы сделали проверку по id, то вставляем после через строку после кода ограничения

Число 2000 в проверке — приблизительное. Читать подробнее об ограничениях OpenAI API >

Готово! ChatGPT в Telegram работает. Смотрите так же другие статьи, правда они в основном касаются веб-разработки.

Дата создания статьи: 09.02.2023

Понравилась статья? Поддержи автора!

Все донаты пойдут на развитие (курсы, подписки на разные сервисы, обслуживание сайта и т.д.) — чем большими знаниями и инструментами владею, чем больше времени у меня освобождается, тем большее количеством статей и видео я делюсь! Благодарю!

Тинькофф: 2200700867913161
Ozon Bank: 2204240107102131
ETH: 0xdeFA7b5ce6119de4B980e415fDE870419c76C590
Boosty: https://boosty.to/woronokin/donate

Еще по теме:  Бот игра тест викторина создать Телеграмм викторина

Комментарии

Оставьте Ваше сообщение

Подписаться
26 Комментарий
Новые Популярные
Межтекстовые Отзывы
Посмотреть все комментарии

7 месяцев назад

все токены вставил и не получается нифига. можете у себя запустить готовый код с моими токенами ?

7 месяцев назад
Ответить на Виталий

Добрый день, есть несколько уточнений:
1. Что выдает консоль при запуске скрипта?
2. Пайтон и все библиотеки стоят?
3. Запускаете скрипт на сервере или локально?

Если все стоит, включая библиотеки OpenAI и aiogram, и все равно не работает — пишите мне в телегу, попробую запустить.

7 месяцев назад

Очень круто, спасибо! Получилось. Вопрос — чтобы ограничить пользователей, как надо вставлять их айди в скобках? (tg_4534345345) или просто цифры без tg? Или как-то еще? Пробовал и так и так — все-равно люди с чужих айди могут пользоваться.

7 месяцев назад
Ответить на Иван

Доброй ночи, спасибо за комментарий!
Просто цифры, без tg. Примерно так: users = (111111111,2222222222)

7 месяцев назад
Ответить на Иван

если айди лишь 1, то вместо обычных скобок используйте фигурные
пример: users =

переписал данный момент в статье

7 месяцев назад

Спасибо тебе, все сделал по инструкции, оно работает!)))

7 месяцев назад
Ответить на Киря

Доброй ночи, благодарю за комментарий! Рад, что все получилось)

7 месяцев назад

Добрый день, попытался стартануть бота на replit.com, стартует нормально, но при запуске бота из телеги ошибка на сервере
Task exception was never retrieved
future: exception=TypeError(«argument of type ‘int’ is not iterable»)>
Traceback (most recent call last):
File «/home/runner/DiscreteOvercookedValue/venv/lib/python3.10/site-packages/aiogram/dispatcher/dispatcher.py», line 415, in _process_polling_updates
for responses in itertools.chain.from_iterable(await self.process_updates(updates, fast)):
File «/home/runner/DiscreteOvercookedValue/venv/lib/python3.10/site-packages/aiogram/dispatcher/dispatcher.py», line 235, in process_updates
return await asyncio.gather(*tasks)
File «/home/runner/DiscreteOvercookedValue/venv/lib/python3.10/site-packages/aiogram/dispatcher/handler.py», line 117, in notify
response = await handler_obj.handler(*args, **partial_data)
File «/home/runner/DiscreteOvercookedValue/venv/lib/python3.10/site-packages/aiogram/dispatcher/dispatcher.py», line 256, in process_update
return await self.message_handlers.notify(update.message)
File «/home/runner/DiscreteOvercookedValue/venv/lib/python3.10/site-packages/aiogram/dispatcher/handler.py», line 108, in notify
data.update(await check_filters(handler_obj.filters, args))
File «/home/runner/DiscreteOvercookedValue/venv/lib/python3.10/site-packages/aiogram/dispatcher/filters/filters.py», line 77, in check_filters
f = await execute_filter(filter_, args)
File «/home/runner/DiscreteOvercookedValue/venv/lib/python3.10/site-packages/aiogram/dispatcher/filters/filters.py», line 63, in execute_filter
return filter_.filter(*args, **filter_.kwargs)
File «main.py», line 17, in
accepted_users = lambda message: message.from_user.id not in users
TypeError: argument of type ‘int’ is not iterable

Источник: nikonorow.ru

Как самому создать бота в Telegram

Бот — отличный инструмент для эффективного взаимодействия с клиентами в Telegram. SMM-специалист Леонид Рахманов рассказывает, зачем нужен бот и как он работает. А еще показывает, как настроить чат-бота и бота обратной связи

Леонид Рахманов Тренер по развитию памяти и концентрации, SMM-маркетолог
Деловая среда Премиум

Вступайте в закрытый клуб и получите доступ к материалам по развитию бизнеса

Какие бывают боты и для чего они нужны

Боты нужны для самых разных целей. В бизнес-сфере в основном используют чат-боты, боты-магазины и боты обратной связи.

Через чат-бота человек может зарегистрироваться на какое-либо мероприятие или консультацию, получить чек-лист, купить товар или услугу, найти ответы на распространенные вопросы, узнать информацию о компании и ее сотрудниках, подписаться на рассылку или получать ее в Telegram. Чат-боты позволяют автоматизировать все эти процессы.

То есть участие сотрудников компании или владельца бизнеса здесь минимально или отсутствует. А еще бот способен отвечать 24/7 и ему не нужны выходные. Бот-магазин по сути тот же чат-бот, в котором доступен каталог товаров или услуг, роль продавца выполняет специально настроенный бот и все процессы, опять же, автоматизированы. Примеры подобных ботов.

Что касается ботов обратной связи, то они позволяют принимать сообщения или заявки от пользователей, которые попадают в одно место — в чат вашего бота, а не засоряют личные сообщения. Такого бота также можно использовать в качестве чата поддержки клиентов. Я пользуюсь ботом обратной связи, когда провожу в Telegram текстовые вебинары (да, есть такой формат!) о развитии памяти и концентрации внимания. Во время этих мероприятий сразу большое количество пользователей пишут сообщения и дают обратную связь: отправляют плюсики, отвечают на мои вопросы и задают свои. Подробнее о создании подобного бота-помощника я расскажу дальше.

Как продвигать бизнес в Telegram

Основы маркетинга

Как создать бота: инструкция

Сначала нужно создать самого бота, своего рода «каркас». Потом можно превратить его в чат-бота, бота обратной связи или в какого-нибудь другого. Сделать это удобно через специального бота, который называется BotFather — буквально «отец ботов». Необходимо зайти в Telegram и написать в поиске слово «botfather».

После найти в выдаче бота, рядом с названием которого есть синий круг с галочкой, как на скриншоте ниже. Такая отметка означает, что этот ресурс — бот или канал — верифицирован самим Telegram. Дальше требуется запустить бота, для этого — нажать кнопку «Старт» или «Запустить».

В открывшемся сообщении надо нажать на первую команду /newbot. Если не она не кликабельна, задать ее в виде сообщения. BotFather спросит, как назвать нового бота. В ответ нужно отправить название.

После этого BotFather попросит подобрать юзернейм боту. Следует отправить любое название латинскими буквами без пробелов. При этом можно использовать нижние подчеркивания. Главное, чтобы название оканчивалось на «bot».

Еще по теме:  Почему не могу открыть Телеграмм на телефоне

Если этот юзернейм не занят, бот пришлет сообщение с информацией о том, что вы создали своего бота, а также специальный ключ в виде разных символов, который нужен для управления ботом. Ключ нежелательно кому-либо передавать или держать в общедоступном месте. Лучше его скопировать и безопасно сохранить. Любой, кто владеет ключом, может управлять ботом.

Если бот прислал сообщение, что заданный юзернейм уже используется, нужно просто придумать и ввести другой.

Деловая среда Премиум

Вступайте в закрытый клуб и получите доступ к вебинарам на актуальные бизнес-темы

Как оформить и упаковать бота

Когда бот создан, можно переходить к его оформлению. Для этого следует отправить BotFather команду /mybots и выбрать нужного бота из списка созданных ботов. Если он один, то в списке будет одно название. В открывшемся меню надо выбрать Edit Bot. Здесь можно поменять название бота, его команды, описание и аватарку.

Начнем с аватарки. Чтобы изменить фото профиля бота, нужно выбрать в меню пункт Edit Botpic и отправить в виде изображения любую фотографию. После этого BotFather пришлет сообщение об успешном изменении аватара.

В том же меню можно выбрать пункт Edit Description, или «Описание бота». Если его задать, то пользователи, попадающие в бота, сразу будут видеть сообщение «Что умеет этот бот?». Для настройки надо отправить BotFather небольшое описание бота.

Еще можно поменять так называемое «био» бота, то есть информацию о нем. Для этого следует нажать Edit About и отправить информацию о боте. Поздравляю! Бот создан. Это, как я говорил, лишь «каркас».

Из него можно сделать чат-бота или бота обратной связи. Как — расскажу дальше. Таких ботов с одного аккаунта можно создавать до 20 штук.

Как создать бота обратной связи

Для начала давайте разберемся, кому и зачем такой бот нужен. Его можно использовать как бота поддержки клиентов, куда люди станут задавать вопросы. В результате общение будет проходить в одном месте, а не засорять личные сообщения. Кстати, к нему в качестве админов полезно добавить менеджеров компании.

Ссылку на бота обратной связи удобно дать в описании своего Телеграм-канала, если он есть. Тогда клиенты перестанут заваливать сообщениями «личку». Такой бот пригодится и тем, кто устраивает в Телеграме опросы в духе «Что бы вы хотели улучшить?» или «Хотели бы вы пообщаться с экспертом компании?».

Главное — не забыть дать на него ссылку, бот соберет все ответы подписчиков в одном месте. В Телеграме можно отправлять сообщения от пользователей в «Спам», которые в таком случае попадают под временную блокировку. Если в «Спам» попал потенциальный клиент, который заинтересовался товаром или услугой компании, написать напрямую менеджеру он не сможет. А в бота обратной связи — да, на него ограничения не действуют.

В сообщении, присланном ботом, выбрать первую команду, которая называется /addbot. Еще ее можно задать, отправив это слово в виде сообщения. Следующий шаг — отправить в Livegram Bot тот ключ, который дал BotFather при создании исходного бота. В ответ Livegram пришлет сообщение об успешном подключении вашего бота.

При желании можно настроить своего бота обратной связи. Для этого нужно нажать «Настроить бот» под сообщением о подключении. Открывшееся меню позволяет задать тексты, которые бот будет присылать в ответ на сообщения пользователей. Надо нажать «Тексты» и следовать инструкциям Livegram. Сначала предстоит выбрать язык текстов.

Далее ввести текст, который каждый пользователь увидит первым, когда нажмет на «Старт». Настроив его, можно нажать «Следующий текст» и задать сообщение, которое будет приходить в ответ пользователю на любую его реакцию. Например: «Ваше сообщение успешно отправлено».

В том же меню, где cсодержится настройка «Тексты», можно создать рассылку сообщений всем подписчикам канала. Для этого нужно нажать кнопку «Рассылка» и следовать дальнейшим инструкциям. Их будет давать уже ваш собственный бот. Важно не забыть запустить своего же бота, чтобы сообщения от пользователей успешно доходили до вас. Поздравляю, теперь у вас есть бот обратной связи!

Еще в Telegram можно создать приватную группу и добавить туда других админов для бота и самого бота. Тогда на сообщения пользователя будут отвечать админы. Это удобно, если нужно делегировать общение с пользователями, например, менеджерам компании.

Как дать ссылку на своего бота

Деловая среда Премиум

Вступайте в закрытый клуб и получите доступ к знаниям об успешном развитии бизнеса

Как создать чат-бота

В начале статьи я упоминал чат-ботов и говорил, для чего они нужны. Как и обещал, расскажу как такого бота создать. Для начала понадобится сделать «каркас», упаковать его и оформить. Подробная инструкция на этот счет есть выше. Так вот готовый «каркас» можно сделать чат-ботом. В этом помогут:

  • разработчики ботов;
  • сервисы-конструкторы, такие как SendPulse, BotHelp;
  • боты-конструкторы, например ManyBot.
Еще по теме:  Как удалить участника из беседы в Телеграмм на Айфоне

Многие сервисы бесплатны определенное время или до определенного количества пользователей. Решить, будете ли вы создавать чат-бота самостоятельно или доверите это разработчикам, помогает понимание того, зачем нужен бот и насколько сложным он должен быть.

Возможность подключения ботов в Telegram облегчает жизнь как бизнесменам, так и пользователям — благодаря ботам ускоряются и автоматизируются многие процессы. Чтобы научиться пользоваться этим инструментом в простых ситуациях, достаточно самостоятельно создать несколько разных ботов по инструкции.

Сервис для быстрого старта бизнеса

Источник: dasreda.ru

Как разместить Telegram-бота: от выбора хостинга до запуска

Как разместить Telegram-бота

Чат-боты для Telegram — простой, изящный и легковесный способ вывести общение с клиентами на новый уровень. Виртуальный собеседник может заниматься рассылкой по фильтрам, предлагать клиенту интересные для него товары и услуги, сообщать последние новости или забавно реагировать на определенные реплики человека — их функционал ограничивается лишь фантазией разработчика. Но чтобы чат-бот работал корректно и мог реализовать свой потенциал, после разработки нужно подобрать подходящий хостинг для него. Об этом я и расскажу в статье, а также о том, как настроить сервер и разместить чат-бота для Telegram.

Выбираем хостинг для телеграм-бота

Для начала быстро разберемся с юридической составляющей. В России власти заблокировали лишь серверы и сам сайт Телеграма (UPD: уже разблокировали, поражение в этой войне было неминуемо). Использование мессенджера фактически не запрещено. Но не любой российский сервер будет исправно работать с ботами для этого мессенджера. Так что перед арендой лучше уточнить у техподдержки, подойдет ли их хостинг для телеграм-бота.

У хостинга для чат-бота должна быть поддержка нескольких языков программирования. Например, хостинг для телеграм-бота на Python должен поддерживать этот язык. Аналогично, написанный на NodeJS бот должен быть развернут на сервере, в который можно подгрузить язык NodeJS.

Если хостинг удовлетворяет этим требованиям, он подойдет для работы простого телеграм-бота, который выдает заготовленный ответ на слова-триггеры. Если же в работе ассистент использует машинное обучение, вам стоит обратить внимание на наличие графического ускорения — без него построение нейросети займет очень много времени. Впрочем, если ваш бот не будет обучаться во время общения с реальными собеседниками, то можно арендовать хостинг с графическим ускорением только на время разработки, а потом развернуть обученную нейросеть на обычном хостинге для Telegram-бота, без графики.

Обратите внимание на наличие круглосуточной технической поддержки. Если у хостинга таковой нет, лучше отказаться от него в пользу более клиентоориентированной компании, пусть даже у нее будут более высокие расценки. Оптимальным будет хостинг с бесплатной помощью в администрировании сервера.

Для развертывания бота для Telegram лучше всего подходит VDS/VPS. Он не требует наличия домена в обязательном порядке, и к нему можно будет обратиться по выделенному IP-адресу, что удобно при развертывании бота. К тому же такие серверы лучше поддерживают увеличение масштабов проекта, так что при увеличении потока посетителей вам не придется переходить на другой сервер — достаточно будет просто сменить тариф или его настройки.

Выбираем тариф

О тарифах хостингов для бота Telegram стоит поговорить отдельно. Есть целый класс бесплатных хостингов — сюда входит, например, Heroku. Они могут оказаться полезными при тестировании бота — расположите свой чат-бот на Heroku и проверьте работоспособность всех функций, прежде чем арендовать хостинг и выкладывать свое творение. Но учтите, что работоспособность на этом хостинге будет непостоянной — обычно чат-боты работают по 30 секунд, а затем отключаются на неопределенное время. Так что для полноценного развертывания вашего детища они не подойдут.

Выбор тарифа обычно обуславливается потоком клиентов, но не сложностью бота. Для развертывания как простенького, так и нейросетевого бота вам не потребуется много дискового пространства. Нет нужды и в больших вычислительных мощностях — большинству ботов более чем достаточно 512 МБ оперативной памяти. Поэтому можно выбирать самые недорогие тарифы.

Ключевое требование к хостингу — стабильность подключения, поэтому от shared-хостингов для телеграм-бота лучше сразу отказаться. А вот VPS/VDS сможет обеспечить надежное подключение. Предпочтительная ОС для сервера — Ubuntu, поскольку большинство модулей для языков программирования пишутся именно под нее. Тарифы на такие виртуальные серверы начинаются от 50 рублей в месяц.

Настраиваем сервер для Telegram-бота

Рассмотрим настройку сервера на примере размещения бота, написанного на Python, который будет автоматически присылать ответы на различные команды.

После аренды VPS нам нужно подключиться к нему по протоколу SSH через специальный клиент (например, Termius), используя данные из личного кабинета на хостинге для телеграм-бота. Вам потребуются Hostname, Login, Password, Port. Вводим их в поля нового подключения. Вот как это будет выглядеть в Termius:

Сохраняем подключение, возвращаемся на главный экран программы (здесь появляется наше новое подключение) и нажимаем на название сервера, которое мы вводили до этого:

Готово, мы попали в консоль сервера:

Источник: e-sevenweb.ru

Рейтинг
( Пока оценок нет )
Загрузка ...