Как создать Телеграмм бота на python aiogram

Сегодня мы создадим своего первого бота на Aiogram 3, а также заложим так называемый фундамент под всех ботов, которые мы будем создавать в дальнейшем, то есть создадим шаблон-болванку для ботов. Научимся отвечать на сообщения пользователя, регистрировать хэндлеры, а также отвечать на сообщение с цитированием. Подробности в видео:

Исходный код к уроку

from aiogram import Bot from aiogram.types import Message async def get_start(message: Message, bot: Bot): await bot.send_message(message.from_user.id, f’Привет message.from_user.first_name>. Рад тебя видеть.

‘) await message.answer(f’Привет message.from_user.first_name>. Рад тебя видеть.

‘) await message.reply(f’Привет message.from_user.first_name>. Рад тебя видеть.’)

from aiogram import Bot, Dispatcher import asyncio from aiogram.types import Message import logging from core.handlers.basic import get_start from core.settings import settings async def start_bot(bot: Bot): await bot.send_message(settings.bots.admin_id, text=»Бот запущен!») async def stop_bot(bot: Bot): await bot.send_message(settings.bots.admin_id, text=»Бот выключен!») async def start(): logging.basicConfig( level=logging.INFO, format=»%(asctime)s — [%(levelname)s] — %(name)s — (%(filename)s).%(funcName)s(%(lineno)d) — %(message)s» ) bot = Bot(token=settings.bots.bot_token, parse_mode=’HTML’) dp = Dispatcher() dp.startup.register(start_bot) dp.shutdown.register(stop_bot) dp.message.register(get_start) try: await dp.start_polling(bot) finally: await bot.session.close() if __name__ == «__main__»: asyncio.run(start())

Telegram бот на python aiogram #1 разработка бота с нуля

Скачать код одним архивом

Источник: nztcoder.com

Как создать телеграмм бота на python aiogram

Бот на Python, использующий BingAI для Telegram [Гайд]

Нейросети Бот на Python, использующий BingAI для Telegram [Гайд]

2023-04-10T11:21:18.167728+03:00
Оценки статьи
Еще никто не оценил статью

Обновлено: 2023-05-21T08:06:38.828512+03:00 Причина: Произведен код ревью под последнюю версию модуля EdgeGPT, бот снова работает как надо

В данной статье мы будем описывать, как можно использовать сервис искусственного интеллекта Bing AI для создания бота в Telegram. Мы будем использовать библиотеку aiogram на Python, которая позволяет создавать ботов для Telegram. С ее помощью мы настроим обработчик сообщений и добавим функцию для получения ответа от Bing AI.

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

В этом гайде мы должны использовать Edge браузер для получения данных от Bing AI.

Placeholder

Создаем проект на Python

Нам необходимо создать проект с виртуальным окружением, поэтому создаем в любой удобной для Вас IDE.

Я воспользуюсь VSCODE. Создам папку проекта и открою ее в VSCODE. Из под Windows:

Создание виртуального окружения: py -m venv venv , активируем его с помощью команды: venv/Scripts/activate

Если из под Linux:

Создание виртуального окружения: python3 -m venv venv , активация: source venv/bin/activate .

Далее создадим файл main.py и рядом папку data, в которой создадим файл cookies.json.

Бот на Python, использующий BingAI для Telegram [Гайд]

Получение cookies с BingAI (только с браузера Edge)

Первым, что необходимо сделать, это получить cookies с Bing AI чата. Для этого скачиваем расширение Cookie Editor для браузера.

Бот на Python, использующий BingAI для Telegram [Гайд]

Далее переходим в сам чат с Bing AI, чтобы войти в чат с нейросетью BingAI вы можете ознакомиться с этой статьей.

Нажимаем на наше расширение, вы увидите различные данные с сайта Microsoft и Bing, в расширении нажимайте кнопку export.

Бот на Python, использующий BingAI для Telegram [Гайд]

Далее эти куки сохраняется в буфере обмена (т.е копируются), и их нужно вставить в файл cookies.json который мы создали ранее.

Бот на Python, использующий BingAI для Telegram [Гайд]

Установка модулей aiogram и EdgeGPT

Далее нам необходимо установить модули для телеграм бота и Bing AI, для этого находясь в активированном виртуальном окружении в терминале прописываем следующую команду: pip install EdgeGPT aiogram .

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

Collecting EdgeGPT Using cached EdgeGPT-0.1.22.1-py3-none-any.whl (9.9 kB) Collecting aiogram Using cached aiogram-2.25.1-py3-none-any.whl (203 kB) Collecting httpx Using cached httpx-0.23.3-py3-none-any.whl (71 kB) Collecting websockets Using cached websockets-11.0.1-cp311-cp311-win_amd64.whl (124 kB) Collecting rich Using cached rich-13.3.3-py3-none-any.whl (238 kB) Collecting certifi Using cached certifi-2022.12.7-py3-none-any.whl (155 kB) Collecting prompt-toolkit Using cached prompt_toolkit-3.0.38-py3-none-any.whl (385 kB) Collecting regex Using cached regex-2023.3.23-cp311-cp311-win_amd64.whl (267 kB) Collecting requests Using cached requests-2.28.2-py3-none-any.whl (62 kB) Collecting BingImageCreator>=0.1.1.1 Using cached BingImageCreator-0.1.2.1-py3-none-any.whl (6.4 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 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-22.2.0-py3-none-any.whl (60 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.8.2-cp311-cp311-win_amd64.whl (55 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 httpcore0.17.0,>=0.15.0 Using cached httpcore-0.16.3-py3-none-any.whl (69 kB) Collecting rfc3986[idna2008]2,>=1.3 Using cached rfc3986-1.5.0-py2.py3-none-any.whl (31 kB) Collecting sniffio Using cached sniffio-1.3.0-py3-none-any.whl (10 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 urllib31.27,>=1.21.1 Using cached urllib3-1.26.15-py2.py3-none-any.whl (140 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.14.0-py3-none-any.whl (1.1 MB) Collecting h110.15,>=0.13 Using cached h11-0.14.0-py3-none-any.whl (58 kB) Collecting anyio5.0,>=3.0 Using cached anyio-3.6.2-py3-none-any.whl (80 kB) Collecting mdurl~=0.1 Using cached mdurl-0.1.2-py3-none-any.whl (10.0 kB) Installing collected packages: wcwidth, rfc3986, pytz, websockets, urllib3, sniffio, regex, pygments, prompt-toolkit, multidict, mdurl, magic-filter, idna, h11, frozenlist, charset-normalizer, certifi, Babel, attrs, async-timeout, yarl, requests, markdown-it-py, anyio, aiosignal, rich, httpcore, BingImageCreator, aiohttp, httpx, aiogram, EdgeGPT Successfully installed Babel-2.9.1 BingImageCreator-0.1.2.1 EdgeGPT-0.1.22.1 aiogram-2.25.1 aiohttp-3.8.4 aiosignal-1.3.1 anyio-3.6.2 async-timeout-4.0.2 attrs-22.2.0 certifi-2022.12.7 charset-normalizer-3.1.0 frozenlist-1.3.3 h11-0.14.0 httpcore-0.16.3 httpx-0.23.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.14.0 pytz-2023.3 regex-2023.3.23 requests-2.28.2 rfc3986-1.5.0 rich-13.3.3 sniffio-1.3.0 urllib3-1.26.15 wcwidth-0.2.6 websockets-11.0.1 yarl-1.8.2 [notice] A new release of pip available: 22.3 -> 23.0.1 [notice] To update, run: python.exe -m pip install —upgrade pip

Еще по теме:  Меняет голос в звонке Телеграм

Placeholder

Пишем код для работы нейросети Bing AI в Telegram

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

Этот код использует библиотеку aiogram для создания Telegram бота на Python, который может взаимодействовать с сервисом искусственного интеллекта Bing AI.

Импортируются модули Bot , types , Dispatcher и executor из библиотеки aiogram , а также модуль Chatbot из библиотеки EdgeGPT .

Переменная telegram_token хранит токен, который получает пользователь, создавший бота в Telegram.

Функция bing_chat используется для получения ответа от сервиса Bing AI. Она получает на вход prompt , то есть запрос пользователя, и возвращает ответ, полученный от Bing AI, удаляя из него специальные символы [^\d^] .

Далее создаются объекты Bot и Dispatcher , используя токен, который был сохранен в telegram_token .

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

Если возникнет какая-либо ошибка, бот ответит «BingAI не хочет общаться с Вами.»

В конце запускается executor с параметрами dp и skip_updates=True . executor запускает цикл для обработки новых сообщений, пока бот не будет остановлен.

Проверка работы бота

Запускаем бота с помощью команды py main.py , и пробуем с ним общаться.

Бот на Python, использующий BingAI для Telegram [Гайд] Бот на Python, использующий BingAI для Telegram [Гайд] Бот на Python, использующий BingAI для Telegram [Гайд]

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

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

Placeholder

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

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

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

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

Телеграм-боты на Python и AIOgram

Курс «Телеграм-боты на Python и AIOgram» знакомит интересующихся с тем, как разрабатывать telegram-ботов на языке Python с использованием асинхронной библиотеки AIOgram.

Средний уровень

Course cover

16 836 учащихся

Чему вы научитесь

О курсе

На этом курсе вы научитесь создавать телеграм-ботов на Python с помощью продвинутой асихронной библиотеки aiogram.

Модули курса

  1. Общие сведения о телеграм-ботах
  2. Подготовка инструментов
  3. Git и GitHub
  4. Аннотации типов и логирование
  5. Telegram Bot API
  6. Асинхронность в Python
  7. Aiogram
  8. Первые телеграм-боты
  9. Структура проекта
  10. Взаимодействие с ботом
  11. Машина состояний (FSM)
  12. База данных
  13. Обработка ошибок бота
  14. Деплой бота на сервер
  15. Автодеплой
  16. Телеграм-бот с искусственным интеллектом

Когда-то подобного курса не хватало мне самому, поэтому он и появился. С целью облегчить начинающим python-разработчикам вход в тему разработки телеграм-ботов.

Начальные требования

Знание синтаксиса Python и основ программирования, включая ООП.

Источник: stepik.org

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