Захотев однажды научиться разрабатывать ботов для Telegram на языке программирования Python, я просто зашёл в Яндекс и вбил что-то вроде «telegram бот на python для новичков» и нашёл казалось бы огромное множество гайдов и туториалов. Однако копнув немного глубже стало понятно, что большая часть гайдов заканчивается на прикреплении клавиатур к сообщениям, или ещё хуже, на написании эхо-бота.
Пришлось копаться в документации, шерстить форумы и учиться на примерах кода с GitHub. Этот гайд создан как полное руководство по разработке полноценного Telegram бота для работы с нейросетями, такими как ChatGPT и Dall-e, начиная установкой IDE и получением токена и заканчивая подключением оплаты, базы данных и загрузки бота на сервер.
Я считаю что гайд будет полезен прежде всего тем, кто уже пробовал разобраться в теме и имеет базовые знания. Чтобы гайд был полезным необходимо иметь базовые знания в Python, всё остальное вы можете изучить в процессе. Продвинутым разработчикам ботов большая часть будет знакома и вряд ли принесёт пользу, однако есть шанс, что и вы найдёте для себя что-то полезное. Жду любую конструктивную критику как по коду и его стилю, так и по изложению.
как настроить ирис бот в тг приветствие и правила
Что мы получим в итоге?
В конце гайда у нас получится полностью функционирующий бот, с админкой, оплатой, базой данных, реферальной программой и подключенным API OpenAI. По мере выхода статей код будет появляться в репозитории на GitHub.
Используемые технологии
Будут использованы следующие технологии:
- VS Code (или любой другой удобный редактор или IDE)
- Python
- Aiogram 3
- PostgreSQL
- API OpenAI
Подготовка окружения
Разработка любой программы начинается с подготовки среды, так что приступим. Для начала устанавливаем VS Code или любую другую вашу любимую IDE или редактор кода. Скачиваем установщик с сайта, запускаем, устанавливаем. По умолчанию среда уже готова к работе, но рекомендую установить дополнительные расширения для Python, а также по желанию темы и другие плюшки.
Конечно же надо установить сам Python, но раз вы читаете это, то уверен, что либо уже сделали это, либо разберётесь сами. Скажу лишь, что использую версию 3.10, однако код также должен работать на версиях Python 3.8 и выше.
В VS Code переходим на вкладку Git, скачиваем и устанавливаем Git. Далее инициализируйте репозиторий и желательно опубликуйте его на GitHub (для удобства дальнейшей работы), это можно сделать прямо из VS Code.

После этого создадим виртуальное окружение, чтобы не засорять пакетами глобальyую среду. Подробнее про виртуальные окружения и преимущества их использования можете почитать здесь. Открываем палитру команд (Ctrl-Shift-P на Windows) и запускаем команду Python: Create Environment .

Далее выбираем venv и интерпретатор Python. Чтобы активировать виртуальное окружение, в терминале выполните команду ..venvScriptsactivate . Также выберите интерпретатор Python по умолчанию.

Выбранный интерпретатор должен находиться в папке .venv

Теперь пришло время установить все используемые библиотеки. Их список вы можете найти у меня на github. Там же я буду выкладывать весь код по мере выхода статей. Если вы скачали файл, то установить библиотеки можно командой:
pip install -r requirements.txt
Обратите внимание что мы будем использовать aiogram версии 3, который ещё находится в бета-тестировании, 3 версия НЕ совместима с предыдущими, так что не забывайте об этом.
Следующий шаг — установка PostgreSQL. Сама установка не является чем-то сложным, поэтому не будем её подробно рассматривать. Для более удобной работы с базами данных можете установить графический клиент, такой как pgAdmin (идущий в комплекте с PostgreSQL), DBeaver или Navicat, самый удобный и используемый мною каждый день в работе (имеет бесплатную пробную версию).
На этом настройка окружения завершена, можно приступать к созданию структуры бота.
Создание структуры
Наш бот будет разделён на несколько логических частей — файлов. Можно писать весь код в одном файле — он будет также работать, однако отладка и поиск нужной функции или класса станет сущим адом.
Файловая структура нашего бота:
- main.py — точка входа, код запуска бота и инициализации всех остальных модулей
- config.py — файл со всеми конфигурационными параметрами, такими как токен бота и данные подключения к БД. Хранение настроек в Python-файле является не самой лучшей практикой, однако если настройки меняются очень редко, то такой способ является самым простым. Можно также хранить настройки в переменных окружения или специальных файлах (ini, json) и через config.py лишь предоставлять абстракцию данных, однако в этом боте будет использован самый простой способ
- db.py — функции подключения и работы с базой данных. Данный файл будет являться абстракцией базы данных от основного кода
- text.py — все тексты, используемые ботом. В этом файле будут лежать все приветствия, сообщения об ошибках и другие текстовые данные для бота. Хранение текста в Python-файле также является не лучшей практикой, так как изменить тексты можно только через код, однако тексты меняются не так часто (чаще всего никогда), поэтому снова пойдём самым простым путём
- kb.py — все клавиатуры, используемые ботов. В этом файле будут находиться абсолютно все клавиатуры, как статические, так и динамически генерируемые через функции
- middlewares.py — название файла говорит само за себя. В этом файле будут лежать все используемые мидлвари (их будет всего две)
- states.py — будет хранить вспомогательные классы для FSM (машины состояний), а также фабрики Callback Data для кнопок Inline клавиатур
- utils.py — различные функции. В этом файле будут лежать функции для рассылки, генерации текста и изображений через API и другие
- handlers.py — основной файл, в котором будет содержать почти весь код бота. Будет состоять из функций-обработчиков с декораторами (фильтрами)
- admin.py — обработчики событий, клавиатуры, классы и весь остальной код админки бота. Опять же если придерживаться лучших практик, стоило бы вынести это в отдельную папку, в которой уже создать модули клавиатур, текстов, хэндлеров (обработчиков) и всего остального. Наша админка будет иметь базовый функционал, поэтому реализуем всё в одном файле
В итоге ваша папка должна выглядеть так:

Получение токена
На эту тему написано настолько много материала, что крайне не хочется дублировать его, поэтому дам краткую инструкцию по получению токена:
- Запустите бота BotFather
- Создайте бота командой /newbot
- Следуя указаниям бота введите все данные, типа названия
- Скопируйте токен и вставьте его в переменную BOT_TOKEN в файле config.py
Можно также произвести настройку бота в BotFather, к примеру настроить описание, аватарку и другие параметры.
Пишем первый код!
Теперь, когда все подготовительные действия сделаны, можем приступить к написанию кода. Мы не будем писать эхо-бота, а сразу перейдём к чему-то более полезному — бот, отправляющий пользователю его ID.
В файле main.py пишем следующий код:
import asyncio import logging from aiogram import Bot, Dispatcher from aiogram.enums.parse_mode import ParseMode from aiogram.fsm.storage.memory import MemoryStorage import config from handlers import router async def main(): bot = Bot(token=config.BOT_TOKEN, parse_mode=ParseMode.HTML) dp = Dispatcher(storage=MemoryStorage()) dp.include_router(router) await bot.delete_webhook(drop_pending_updates=True) await dp.start_polling(bot, allowed_updates=dp.resolve_used_update_types()) if __name__ == «__main__»: logging.basicConfig(level=logging.INFO) asyncio.run(main())
Сначала мы импортируем все нужные нам классы и модули:
- asyncio — для асинхронного запуска бота
- logging — для настройки логгирования, которое поможет в отладке
- aiogram — основной модуль библиотеки aiogram, из которого мы импортируем классы Bot и Dispatcher
- aiogram.enums.parse_mode — содержит настройки разметки сообщений (HTML, Markdown)
- aiogram.fsm.storage.memory — хранилища данных для состояний пользователей
- config — настройки бота, пока что только токен
- handlers — пока пустой, но скоро мы напишем в нём функционал нашего бота
Затем мы объявляем функцию main() , в которой будет запускаться бот. Далее мы создаём объект бота с нашим токеном. Обратите внимание на параметр parse_mode , он отвечает за используемую по умолчанию разметку сообщений. Мы используем HTML, чтобы избежать проблем с экранированием символов.
Затем мы создаём объект диспетчера, параметр storage=MemoryStorage() говорит о том, что все данные бота, которые мы не сохраняем в БД (к примеру состояния), будут стёрты при перезапуске. Этот вариант является оптимальным, так как хранение состояний диспетчера требуется редко.
Строка dp.include_router(router) подключает к нашему диспетчеру все обработчики, которые используют router, их вы увидите в следующем файле. Строка await bot.delete_webhook(drop_pending_updates=True) удаляет все обновления, которые произошли после последнего завершения работы бота. Это нужно, чтобы бот обрабатывал только те сообщения, которые пришли ему непосредственно во время его работы, а не за всё время. следующая строка запускает бота. Однако если сейчас попытаться запустить файл, бот не запустится, а выдаст исключение, так как файл handlers.py пустой. Давайте исправим это.
from aiogram import Router router = Router()
Давайте запустим и проверим, как работает наш бот. После запуска вы должны увидеть следующий вывод в лог:

Это означает, что наш бот запущен и слушает обновления, однако пока что он ничего не делает, так как мы не добавили ни одного обработчика. Давайте исправим это, написав в файле handlers.py следующий код:
Второй обработчик реагирует на все сообщения, так как у него не задан ни один фильтр. В теле функции мы снова отвечаем пользователю сообщением и подставляем в него значение msg.chat.id . Запустим снова код и посмотрим на результат. Обратите внимание, что запускать надо не handlers.py, а main.py, так как именно он является точкой входа в нашу программу. В консоли снова появится аналогичное сообщение об успешном запуске бота, можно перейти в чат с ботом и отправить ему команду /start .
Как сделать кружок в ирисе в телеграмме
24 июня разработчики Telegram открыли платформу для создания ботов. Новость кого-то обошла стороной Хабр, однако многие уже начали разрабатывать викторины. При этом мало где указаны хоть какие-то примеры работающих ботов.
Прежде всего, бот для Telegram — это по-прежнему приложение, запущенное на вашей стороне и осуществляющее запросы к Telegram Bot API. Причем API довольное простое — бот обращается на определенный URL с параметрами, а Telegram отвечает JSON объектом.
Рассмотрим API на примере создания тривиального бота:
2. Программирование
Создавать бота буду на Python3, однако благодаря адекватности этого языка алгоритмы легко переносятся на любой другой.
Здесь мы при запуске бота устанавливаем вебхук на наш адрес и отлавливаем сигнал выхода, чтобы вернуть поведение с ручной выгрузкой событий.
Приложение торнадо для обработки запросов принимает класс tornado.web.RequestHandler, в котором и будет логика бота.
Здесь CMD — словарь доступных команд, а send_reply — функция отправки ответа, которая на вход принимает уже сформированный объект Message.
Собственно, её код довольно прост:
Теперь, когда вся логика бота описана можно начать придумывать ему команды.
3. Команды
Перво-наперво, необходимо соблюсти соглашение Telegram и научить бота двум командам: /start и /help:
Команда /start без параметров предназначена для вывода информации о боте, а с параметрами — для идентификации. Полезно её использовать для действий, требующих авторизации.
После этого можно добавить какую-нибудь свою команду, например, /base64:
command1 — Description
command2 — Another description
I:
whoisyourdaddy — Information about author
base64 — Base64 decode
BotFather: Success! Command list updated. /help
C таким описанием, если пользователь наберет /, Telegram услужливо покажет список всех доступных команд.
4. Свобода
- All messages that start with a slash ‘/’ (see Commands above)
- Messages that mention the bot by username
- Replies to the bot’s own messages
- Service messages (people added or removed from the group, etc.)
Для начала в Handler добавляем обработчик:
А потом в список команд добавляем псевдо-речь:
Здесь эмпирическая константа 75 относительно неплохо отражает вероятность того, что пользователь всё-таки хотел сказать. А format_map — удобна для одинакового описания строк как требующих подстановки, так и без нее. Теперь бот будет отвечать на приветствия и иногда даже обращаться по имени.
5. Не текст.
Для примера расширим словарь RESPONSES:
И будем отлавливать текст :
Видно, что теперь структура Message уже не содержит текст, поэтому необходимо модифицировать send_reply:
И все, теперь бот будет время от времени присылать стикер вместо времени:

6. Возможности
Благодаря удобству API и быстрому старту боты Telegram могут стать хорошей платформой для автоматизации своих действий, настройки уведомлений, создания викторин и task-based соревнований (CTF, DozoR и прочие).
Вспоминая статью про умный дом, могу сказать, что теперь извращений меньше, а работа прозрачнее.
7. Ограничения
К счастью, Telegram также умеет работать и по ручному обновлению, поэтому не меняя кода можно создать еще одну службу Puller, которая будет выкачивать их и слать на локальный адрес:

Платно или нет
Возможность создания и отправки видео с круглой рамкой в мессенджере является совершенно бесплатной функцией.
Как это сделать
Для этого подходит как смартфон, так и ПК или лэптоп.
С компьютера

- в открывшемся меню найти файл и дважды кликнуть на него;


Со смартфона


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

- Во избежание автоматической отправки и если не хочется удерживать палец на кнопке, существует альтернативный режим. Чтобы перейти в него, достаточно свайпнуть вверх до иконки замка. Для завершения этого режима съемки нажимается красный квадрат на экране.
Процедура записи на Android и Iphone – одинаковая. Хронометраж ограничен одной минутой.
Длительность записи ограничена 1 минутой. Более пространные монологи придётся делить на несколько частей и отправлять последовательно.
Как записать видео в кружочке в Telegram
Перейдите в нужный чат и один раз нажмите на значок микрофона. После этого он сменится на изображение камеры.
По умолчанию видео в кружочке отсылаются автоматически без предпросмотра. Но если хотите сначала оценить их, это можно сделать тремя способами.
Запишите видео максимальной длины или воспользуйтесь блокировкой кнопки записи. В обоих случаях после окончания съёмки откроется предпросмотр, а с помощью таймлайна внизу ролик можно будет даже обрезать.
Инженер-механик, хорошо разбираюсь в технике и технологиях. Более 10 лет пользуюсь Mac и iPhone, знаю всё об экосистеме и продуктах Apple. Не только пишу, но и умею и люблю работать руками. 3 года трудился автослесарем, машину чиню только сам. Спроектировал и с нуля построил дом своими руками, накопив по ходу немало опыта.
Обожаю олдскульные видеоигры и комиксы, играю на гитаре.
- Более 2000 рекламных агентств и фрилансеров уже работают с сервисом.
- Подключиться можно самому за 1 день.
- Зарабатывайте с первого потраченного рубля, без начальных ограничений, без входного барьера.
- Выплаты на WebMoney, на карту физическому лицу, реинвестирование в рекламу.
- У вас остаются прямые доступы в рекламные кабинеты, рай для бухгалтерии по документообороту и оплатам.

Как включить/отключить реакции в группе/канале Телеграм
В личных чатах реакции всегда включены. В группах и каналах администраторы могут выбрать, разрешить ли реакции и какие именно эмодзи будут доступны в чате.

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

Готово! Теперь подписчики вашего канала смогут оставлять реакции на ваши публикации в ТГ. А это очень ценный инструмент для сбора обратной связи, плюс для настройки лайков не потребуется использовать сторонние боты.
- Как сделать платежную систему в инстаграмм
- Как сделать новогодний кулон
- Как сделать так чтобы девушка дала в попу
- Как сделать огонь
- Как сделать кальмары к пиву в домашних условиях
Источник: 1svoimi-rukami.ru
Гайды по ирису телеграм
Бот «Ирис» в Телеграмм — это удобный инструмент, который позволяет паре вести свою совместную жизнь, регулировать финансы, показывать общую статистику и многое другое. Однако, в некоторых случаях, возникает необходимость расстрогнуть брак в этом боте. В этой статье мы расскажем, как это сделать.
Шаг 1: Запуск бота «Ирис»
Чтобы расстрогнуть брак в боте «Ирис», вам необходимо запустить его. Для этого найдите бота «Ирис» в Телеграмм и нажмите кнопку «Start» для начала работы.
Шаг 2: Переход в меню управления
После запуска бота «Ирис», вы окажетесь в главном меню. Чтобы расстрогнуть брак, вам нужно перейти в меню управления. Для этого нажмите на кнопку «Manage».
Шаг 3: Выбор функции развода
В меню управления вы увидите различные функции, которые предлагает бот «Ирис». Для того чтобы расстрогнуть брак, выберите опцию «Divorce».
Шаг 4: Подтверждение развода
После выбора функции развода вам будет предложено подтвердить свое решение. Бот «Ирис» попросит вас ввести пароль или подтвердить свою личность другим способом.
Шаг 5: Подтверждение развода
После успешной идентификации, вас попросят подтвердить, что вы желаете расстроить брак в боте «Ирис». Внимательно прочтите предупреждение и убедитесь, что вы принимаете окончательное решение.
Шаг 6: Завершение процесса
После подтверждения развода, бот «Ирис» завершит процесс разрыва брака. Вам будет выслано уведомление о завершении процедуры, и бот больше не будет считать вас супругами.
В настоящей статье мы рассмотрели процесс расстройки брака в боте «Ирис» в Телеграмм. Используя указанные шаги, вы сможете просто и быстро завершить свою парную жизнь в рамках этого бота. Однако, перед принятием окончательного решения о разводе, тщательно обдумайте все плюсы и минусы. Лучше всего обсудить свои намерения со своим партнером и принять решение вместе.
Примечание: Бот «Ирис» разработан для облегчения совместной жизни пары, однако решение о базовых семейных вопросах всегда должно приниматься лично парой. Используйте функцию развода в боте «Ирис» в Телеграмм только в случае реального намерения расстроить брак.
- Кто по вашему самый сексуальный боксер в мире?
- А что СУШИТ ДУШУ?
- Как называется белый шоколад
- А как вы относитесь к воздухоплаванию?
- Сколько раз я садился на холодный унитаз?
- Хай. Надеюсь
- Не могу достать картридж из Самсунга SCX-3205 Series. Как это вообще делается? Сломать боюсь.))))
- Как при посещении парикмахерской не остаться лысой?
Источник: umbertoeco.ru