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

Заходим в сам телеграм и вбиваем в поиск BotFather — это менеджер всех ваших ботов. Выбираем команду /newbot и следуем инструкции. В конце, Вы, увидите токен, с помощью него ведется управление ботом, потому не светите им 🙂

Переходим в нашу среду разработки PyCharm и создаем два файла main.py, constant.py. В первом будет основной код, а во втором константы, такие как токен. Сделал я это, чтобы не светить их в основном коде.

Для начала работы, нам надо создать основной объект bot, через него мы будем обращаться к API telegram с использование необходимых методов. Для создания этого объекта надо вызвать конструкторы, в качестве параметра передать токен бота, который мы вынесли в отдельный файл в виде переменной.

Проверим работоспособность бота. Заходим с ним в диалог и нажимаем СТАРТ. Вводим следующий URL в адресную строку, вместо вставляем собственный токен и нажимаем Enter. Если все в порядке, то Вы увидите много текста json файла, но нам нужно скопировать оттуда только id(число).

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

Отправим себе сообщение. Добавляем следующую строчку в код и компилируем.

bot.send_message(chat_id=’Ваш id’, text=’Hello Царь!’)

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

Бот на Python, работающий с помощью нейросети Google Bard для Telegram [Гайд]

Нейросети Бот на Python, работающий с помощью нейросети Google Bard для Telegram [Гайд]

2023-05-14T10:21:01.233685+03:00
Оценки статьи
Еще никто не оценил статью

В данной статье мы изучим процесс разработки Telegram-бота с использованием языка программирования Python и библиотеки aiogram. Особенностью этого бота будет встроенная нейросеть Google Bard, которую мы будем использовать для обработки сообщений и генерации ответов.

Как получить токен Google Meet Bard

  1. Первое, что нам необходимо сделать, это перейти в самого чат-бота Google Bard.
  2. Далее открываем консоль разработчика (F12).

Бот на Python, работающий с помощью нейросети Google Bard для Telegram [Гайд]

  1. В консоле разработчика переходим в Приложения (Applications)
  2. Переходим в файлы cookie, выбираем https://bard.google.com/.
  3. Ищем в файлах cookie название __Secure-1PSID и копируем его значение, сохраняем куда-нибудь.

Бот на Python, работающий с помощью нейросети Google Bard для Telegram [Гайд]

Отлично. Необходимый токен для Google Bard мы получили.

Как получить токен телеграм бота

Бот на Python, работающий с помощью нейросети Google Bard для Telegram [Гайд]

Уроки Python / Делаем чат бот Telegram (часть 1)

Получаем ключ для доступа к API, на скриншоте он закрашен. Сохраняем в удобное место.

Создание виртуального окружения (если знаете как, можете пропускать)

Теперь нам необходимо создать телеграм бота работающего на основе Google Meet Bard. Создавать бота мы будем с помощью библиотеки aiogram на Python. Поэтому через удобную для вас IDE создаете виртуальное окружение.

В примере воспользуемся IDE PyCharm.

  1. Нажимаем New Project, если вы уже находитесь в проекте, то File -> New Project.

Бот на Python, работающий с помощью нейросети Google Bard для Telegram [Гайд]

  1. Далее выбираем Pure Python (Python проект) и путь до желаемого проекта. У меня например Ботостроение/GoogleBard. Виртуальное окружение создатся в папке venv, внутри проекта автоматически.

Бот на Python, работающий с помощью нейросети Google Bard для Telegram [Гайд]

  1. Далее нажимаем Create и ждем создания проекта.

Бот на Python, работающий с помощью нейросети Google Bard для Telegram [Гайд]

  1. Если у вас не создался файл main.py, просто создайте его: На папке проекта ЛКМ мышью -> New -> Python File с названием main.py

Бот на Python, работающий с помощью нейросети Google Bard для Telegram [Гайд]

  1. В файле main.py мы и будем создавать нашего бота.

Бот на Python, работающий с помощью нейросети Google Bard для Telegram [Гайд]Placeholder

Создаем telegram бота с Google Meet Bard

Теперь установим необходимые библиотеки через терминал в pyCharm для создания бота: pip install GoogleBard aiogram

Бот на Python, работающий с помощью нейросети Google Bard для Telegram [Гайд]

Результат выполнения установки:

Collecting GoogleBard Downloading GoogleBard-1.0.0-py3-none-any.whl (5.1 kB) Collecting aiogram Using cached aiogram-2.25.1-py3-none-any.whl (203 kB) Collecting requests Using cached requests-2.30.0-py3-none-any.whl (62 kB) Collecting prompt-toolkit Using cached prompt_toolkit-3.0.38-py3-none-any.whl (385 kB) Collecting rich Using cached rich-13.3.5-py3-none-any.whl (238 kB) Collecting aiohttp3.9.0,>=3.8.0 Using cached aiohttp-3.8.4-cp311-cp311-win_amd64.whl (317 kB) Collecting Babel2.10.0,>=2.9.1 Using cached Babel-2.9.1-py2.py3-none-any.whl (8.8 MB) Collecting certifi>=2021.10.8 Using cached certifi-2023.5.7-py3-none-any.whl (156 kB) Collecting magic-filter>=1.0.9 Using cached magic_filter-1.0.9-py3-none-any.whl (9.3 kB) Collecting attrs>=17.3.0 Using cached attrs-23.1.0-py3-none-any.whl (61 kB) Collecting charset-normalizer4.0,>=2.0 Using cached charset_normalizer-3.1.0-cp311-cp311-win_amd64.whl (96 kB) Collecting multidict7.0,>=4.5 Using cached multidict-6.0.4-cp311-cp311-win_amd64.whl (28 kB) Collecting async-timeout5.0,>=4.0.0a3 Using cached async_timeout-4.0.2-py3-none-any.whl (5.8 kB) Collecting yarl2.0,>=1.0 Using cached yarl-1.9.2-cp311-cp311-win_amd64.whl (60 kB) Collecting frozenlist>=1.1.1 Using cached frozenlist-1.3.3-cp311-cp311-win_amd64.whl (32 kB) Collecting aiosignal>=1.1.2 Using cached aiosignal-1.3.1-py3-none-any.whl (7.6 kB) Collecting pytz>=2015.7 Using cached pytz-2023.3-py2.py3-none-any.whl (502 kB) Collecting wcwidth Using cached wcwidth-0.2.6-py2.py3-none-any.whl (29 kB) Collecting idna4,>=2.5 Using cached idna-3.4-py3-none-any.whl (61 kB) Collecting urllib33,>=1.21.1 Using cached urllib3-2.0.2-py3-none-any.whl (123 kB) Collecting markdown-it-py3.0.0,>=2.2.0 Using cached markdown_it_py-2.2.0-py3-none-any.whl (84 kB) Collecting pygments3.0.0,>=2.13.0 Using cached Pygments-2.15.1-py3-none-any.whl (1.1 MB) Collecting mdurl~=0.1 Using cached mdurl-0.1.2-py3-none-any.whl (10.0 kB) Installing collected packages: wcwidth, pytz, urllib3, pygments, prompt-toolkit, multidict, mdurl, magic-filter, idna, frozenlist, charset-normalizer, certifi, Babel, attrs, async-timeout, yarl, requests, markdown-it-py, aiosignal, rich, aiohttp, GoogleBard, aiogram Successfully installed Babel-2.9.1 GoogleBard-1.0.0 aiogram-2.25.1 aiohttp-3.8.4 aiosignal-1.3.1 async-timeout-4.0.2 attrs-23.1.0 certifi-2023.5.7 charset-normalizer-3.1.0 frozenlist-1.3.3 idna-3.4 magic-filter-1.0.9 markdown-it-py-2.2.0 mdurl-0.1.2 multidict-6.0.4 prompt-toolkit-3.0.38 pygments-2.15.1 pytz-2023.3 requests-2.30.0 rich-13.3.5 urllib3-2.0.2 wcwidth-0.2.6 yarl-1.9.2 [notice] A new release of pip available: 22.3.1 -> 23.1.2 [notice] To update, run: python.exe -m pip install —upgrade pip

Еще по теме:  Как сделать оплату киви в Телеграмме

Теперь в файле main.py напишем следующий фрагмент кода:

Этот код отвечает за создание Telegram-бота, который использует нейросеть Google Bard для генерации ответов на сообщения.

Первая строка from Bard import Chatbot импортирует класс Chatbot из модуля Bard, который содержит реализацию нейросети Google Bard.

Затем импортируются необходимые модули из библиотеки aiogram:

  • Bot — класс, представляющий бота Telegram.
  • types — модуль, содержащий различные типы данных для работы с API Telegram.
  • Dispatcher — класс, отвечающий за обработку и маршрутизацию входящих сообщений.
  • executor — модуль, содержащий функции для запуска бота. Далее задаются переменные telegram_token и bard_token , в которых указываются токены для доступа к Telegram API и Google Bard API соответственно.

Затем создаются объекты Bot , Dispatcher и Chatbot . Объект Bot инициализируется с помощью токена Telegram , который позволяет боту взаимодействовать с пользователем. Объект Dispatcher создается на основе объекта Bot и используется для управления обработкой входящих сообщений.

В коде присутствует переменная proxy , например proxy=’5.161.206.32:8080′ для дополнения сессии прокси-адресом Chatbot . Это необходимо для соединения с нейросетью Google Bard.

Прокси-сервер позволяет маршрутизировать сетевой трафик через промежуточный сервер, который может обеспечить дополнительные уровни анонимности или улучшить скорость соединения. В данном случае, скорее всего, используется прокси-сервер для обеспечения доступа к API Google Bard.

Значение adress:port представляет собой адрес и порт прокси-сервера. Вам необходимо убедиться, что этот прокси-сервер доступен и может быть использован для соединения с Google Bard. Если у вас нет прокси-сервера или вам не требуется его использование, вы можете пропустить параметр proxy .

Примечание: без использования прокси вы можете столкнуться с следующей ошибкой:

Google Bard encountered an error: b’)]>’nn38n[«wrb.fr»,null,null,null,null,[9]]n56n[«di»,196,»af.httprm»,196,»5929433453807571131″,4]n25n[«e»,4,null,null,131]n’.

Поэтому используйте прокси http/https страны США, например из этого списка. Либо используйте клиентский VPN с подключением к США. Ну а если у вас есть сервер VPS в США, то можете просто развернуть бота на нём.

Наконец, if __name__ == ‘__main__’ : проверяет, запущен ли этот скрипт непосредственно (а не импортирован как модуль), и если это так, запускается бот с помощью функции start_polling из модуля executor . Флаг skip_updates=True указывает, что нужно пропускать обновления, которые пришли до запуска бота.

Проверяем Telegram-бота с Google Bard в деле

Бот на Python, работающий с помощью нейросети Google Bard для Telegram [Гайд] Бот на Python, работающий с помощью нейросети Google Bard для Telegram [Гайд]

Не забываем, что Google Bard на данный момент времени, а это май 2023 года, общается только на английском языке! Все, что подается в Telegram под видом Google Bard, который пишет на русском: фейк.

Еще по теме:  Как отправить голосовое в Телеграмме на Айфоне

Репозиторий с кодом на GitHub.

Добро пожаловать в Блог Разработчика Владислава Александровича.

Ведется медленная, но уверенная разработка функционала сайта.

Django Core: 0.3.3 / Next.js 0.2.3 / UPD: 17.05.2023

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

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

Для начала давайте определимся с тем что такое бот. Бот представляет из себя интерфейс telegram с помощью которого может вызываться любая программа. То есть это прослойка между чатом в вашем телефоне и кодом на компьютере или сервере, помогающая отправить и получить данные в чате.

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

Схематично это взаимодействие выглядит примерно так:

Папа ботов

Для того, чтобы создать своего бота, необходимо обратиться с этой просьбой к отцу всех ботов:) На полном серьезе.

Пишем ему сообщение /help и получаем перечень всех команд для botfather.

Здесь мы не будем подробно останавливаться на описании каждой команды. Сейчас нас интересует только создание нового бота. Это команда /newbot. Отправим её botfather и посмотрим что будет.

При получении этого сообщения botfather начинает процесс создания и просит вас задать имя для вашего нового бота, а затем и username. Разница в том, что имя может быть любым, тогда как username обязательно должно оканчиваться на «bot» (для того чтобы человек сразу понимал, что общается с ботом, а не с другим человеком). Для упрощения мы зададим одинаковые имя и username нашему боту.

После того, как название выбрано, botfather присылает нам токен бота.

Токен – это уникальный идентификатор нашего бота. Точка связи между ботом и кодом на сервере/компьютере. Именно по нему наш код будет обращаться к боту и попадать туда куда нужно, а бот в свою очередь идентифицировать то, что обращаются именно к нему.

На этом наше общение с botfather окончено.

Пишем функционал бота

Переходим ко второй части создания бота – написанию кода. В этой статье мы будем рассматривать в качестве основы python, который для начла нужно установить, если он у вас еще не установлен. Сделать это можно на официальном сайте python просто следуя инструкциям установщика.

После того как питон установлен, нам нужно установить библиотеку telepot, обеспечивающую взаимодействие python с telegram. Сделать это можно за 5 секунд. Открываем командную строку и пишем там $ pip install telepot.

В случае успешной установки мы увидим, Successfully installed. Вот как это выглядит у меня после всего «птичьего текста» процесса установки.

Описание всего функционала библиотеки доступно здесь. Написано легко и понятно. Но на английском.

Теперь у нас есть python и библиотека telepot, позволяющая взаимодействовать с telegram. Время написать простой код.

import telepot from pprint import pprint bot = telepot.Bot(‘***** Сюда надо вставить токен, полученный у botfather *****’) response = bot.getUpdates() pprint(response)

Здесь мы подключили библиотеки telepot и pprint, добавили токен, полученный нами ранее у botfather, послали запрос боту на то чтобы он отправил нам последние сообщения (bot.getUpdates()) и вывели результат на экран. Полученное сообщение выглядит так:

Еще по теме:  Код подтверждения никому не давайте код даже если его требуют от имени Telegram

, ‘date’: 1465283242, ‘from’: , ‘message_id’: 10772, ‘text’: ‘Hello’>, ‘update_id’: 100000000>

Как мы видим, сообщение представляет собой массив, представленный в виде словаря python. Сообщение содержит в себе идентификатор чата (id), то, с кем ведется чат (first_name), тип чата, дату сообщения, от кого получено сообщение, номер сообщение и собственно сам текст. Вообще наполнение полученного сообщения постоянно обновляется, поэтому вполне вероятно, что когда вы будете читать этот текст, в ответе будет приходить гораздо больше параметров. Актуальная версия описания всегда доступна в описании api на официальном сайте telegram.

Теперь, когда мы знаем как выглядит сообщение, можно написать простого бота-калькулятора. Код будет выглядеть следующим образом:

import telepot from telepot.loop import MessageLoop TOKEN = ‘***** Сюда надо вставить токен, полученный у botfather *****’ bot = telepot.Bot(TOKEN) def handle(msg): «»» Process request like ‘3+2’ «»» content_type, chat_type, chat_id = telepot.glance(msg) text = msg[«text»] try: answer = eval(text) except: answer = «Can’t calculate :(» bot.sendMessage(chat_id, «answer: <>».format(answer)) MessageLoop(bot, handle).run_as_thread() # Keep the program running. while True: n = input(‘To stop enter «stop»:’) if n.strip() == ‘stop’: break

Здесь мы подключили библиотеку telepot, добавили информацию о токене бота, прочитали полученное сообщение и, если оно представляет собой математическую операцию, выполняем его функцией eval. В противном случае выводим сообщение о том, что калькуляция не возможна.

Для того, чтобы программа выполнялась, в конце добавлен цикл, выполняющий код до момента написания слова ‘stop’.

Запускаем код и проверяем результат в telegram. Все работает!

Нюансы

Есть несколько важных нюансов, которые нужно понимать при работе с ботами telegram:

  1. Бот сам не может являться инициатором беседы в чате. Это можете сделать только вы. До момента как вы напишете что-нибудь боту, он считается выключенным.
  2. Так как код python (и любой другой) запускается на компьютере или сервере, он будет выполняться только если компьютер/сервер доступен. То есть в случае если компьютер с кодом «заснул», отвалилась сессия или код завис — бот работать не будет. То же самое относится к серверу.
  3. Если компьютер/сервер с кодом бота перезагрузился, нужно запускать код заново, а так же инициировать беседу с ботом в telegram (см.п.1) иначе бот работать не будет.
  4. Есть два метода получения сообщений. Это getUpdates и webhooks. В этой статье описан метод getUpdates как наиболее простой для старта. Отличие getUpdates от webhooks в том что в первом случае ваш компьютер/сервер через заданные промежутки времени проверяет наличие новых сообщений, а во втором telegram сам отправляет новые сообщение при их наличии к вам на сервер. Webhooks меньше грузит и ваш сервер и сервера telegram, однако требует дополнительной настройки и наличия ssl сертификата.

Из ограничений готовых ботов и платформ-конструкторов можно отметить то, что в результате их популярности и большого количества пользователей, такие боты могут работать не стабильно в зависимости от нагруженности серверов, на которых размещены боты. Это может выражаться как в увеличенном времени реакции бота, так и в полном отсутствии реакции в части случаев.

Зачем все это:

Ключевой вопрос: «как можно применить бота?». Можно, например, научить бота python читать логи на предмет ошибок и выдавать сообщение если в процессе что-то пошло не так. Можно обрабатывать aml события и блокировать счета мошенников в реальном времени (привет sas-форум). Можно создать библиотеку знаний по нужной области рисков и отправлять нормативные документы по запросу.

Применить бот в работе рисковика можно. Все зависит от вашей фантазии и наличия открытых портов для api telegram в вашем банке 🙂

О том как научить вашего бота следить за событиями Google Calendar можно прочитать в этой статье.

Полезные ссылки:

Источник: www.rtportal.ru

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