Use saved searches to filter your results more quickly
Cancel Create saved search
You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session. You switched accounts on another tab or window. Reload to refresh your session.
Как создать телеграм бота
VladimirGav/telegrambot
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Switch branches/tags
Branches Tags
Could not load branches
Nothing to show
Could not load tags
Nothing to show
Name already in use
A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?
Cancel Create
- Local
- Codespaces
HTTPS GitHub CLI
Use Git or checkout with SVN using the web URL.
Work fast with our official CLI. Learn more about the CLI.
Sign In Required
Please sign in to use Codespaces.
Как подключить бота Telegram к BotHelp?
Launching GitHub Desktop
If nothing happens, download GitHub Desktop and try again.
Launching GitHub Desktop
If nothing happens, download GitHub Desktop and try again.
Launching Xcode
If nothing happens, download Xcode and try again.
Launching Visual Studio Code
Your codespace will open once ready.
There was a problem preparing your codespace, please try again.
Latest commit
Git stats
Files
Failed to load latest commit information.
Latest commit message
Commit time
README.md
Как создать телеграм-бота
Возможности бота
Пишем телеграм-боту и получаем ответы от обработчика:
- Приветствие новых участников в группе. Видео https://youtu.be/atu4ERvP26c
- Удаление уведомлений о выходе участников из группы. https://youtu.be/cZ5PfQ92AWA
- Блокирование ссылок от участников в группе. https://youtu.be/z0uIJ15FPWg
- /ai — задаем любой вопрос. Отвечает ИИ OpenAI ChatGPT. Отвечая на сообщения бота можно вести диалог. Видео https://www.youtube.com/watch?v=V5s8zEvGr08
- /img — описание картинки. ИИ OpenAI рисует картинку в ответ. Видео https://youtu.be/km212I673hk
Stable Diffusion команды
- /sd_models — Получить список разрешенных моделей для бота от huggingface
- /sd — Запрос на создание изображения
AI Audio команды
- /audio — Запрос на генерацию речи(аудио) из текста
- /new_wallets 3 — Создать 3 Ethereum кошелька (Address, PrivateKey). Видео https://youtu.be/U2uyD85Ysfw
- /new_wallet 25 — Создать seed фразу из 12 слов (bip39) и к ней 25 Аккаунтов с адресами и приватными ключами. Видео СКОРО
- /new_seed 10 — Создать 10 Seed фраз из 12 слов (bip39). Видео https://youtu.be/ndNdZJOYiA4
- Любой запрос — Администратор может добавлять собственные ответы на запросы в файле telegrambotapi.php
- /user_id — отправляет id отправителя. Видео https://youtu.be/z0uIJ15FPWg
- /chat_id — отправляет id текущего чата. Видео https://youtu.be/wykA-F4fQI0
Примеры для разработчиков
- /start — Пример отправки текстового сообщения на старт бота
- тест — Пример отправки текстового сообщения
- привет , пример ответа — Пример текстового ответа на сообщение
- мелодия — Пример отправки аудио файла
- пример кнопки — Пример отправки сообщение с кнопкой
- /menu — Пример создания интерактивного меню
Example of an interactive menu
Создание бота в Telegram
Установка обработчика ответов на Windows 11
- Скачиваем zip архив репозитория VladimirGav/telegrambot на компьютер и распаковываем.
- Запускаем файл forwindows/StartBot.bat и при первом запуске вводим API ключи и все. Пока консоль запущена, она будет обрабатывать сообщения, вы можете свернуть консоль.
Установка обработчика ответов для других Windows
- Скачиваем zip архив репозитория VladimirGav/telegrambot на компьютер и распаковываем.
- Устанавливаем вручную 64-bit Git for Windows Setup из https://git-scm.com/download/win
- Устанавливаем вручную Microsoft Visual C++ Redistributable https://aka.ms/vs/17/release/vc_redist.x64.exe
- Запускаем файл forwindows/StartBotWinOther.bat и при первом запуске вводим API ключи и все. Пока консоль запущена, она будет обрабатывать сообщения, вы можете свернуть консоль.
Установка обработчика ответов на хостинг
- Загружаем папку www/examples в корень сайта.
- Загружаем папку backend за пределы корня сайта.
- Запускаем файл www/examples/telegrambotsettings.php , вводим токен бота и URL адрес (только https) к обработчику сообщений www/examples/telegrambotapi.php
Автоматическая публикация сообщений в телеграм канал
Ключи API
- Все ключи с API хранятся в папке /telegrambot/backend/settings , вы всегда можете их отредактировать.
- OpenAI API KEY вы можете получить по ссылке https://platform.openai.com/account/api-keys
Установка и подключение Stable Diffusion
- Выполните установку https://github.com/VladimirGav/stable-diffusion-vg Видео инструкция https://youtu.be/dUGForWid64
- Укажите путь к папке stable-diffusion-vg и список моделей в файле настроек Телеграм Бота.
Установка и подключение AI Audio
Видео инструкция СКОРО
- Выполните установку https://github.com/VladimirGav/ai-audio-vg Видео инструкция https://www.youtube.com/watch?v=AW3OFjy3elw
- Укажите путь к папке ai-audio-vg в файле настроек Телеграм Бота.
Персонализация (настроеки)
Возможности бота можно настроить индивидуально в файле /telegrambot/backend/settings/bot_settings.json. Файл создается автоматически, после первого успешного запуска бота.
- enableChatGPT : 1, // 1 — включить ChatGPT команду /ai; 0 — выключить
- enableOpenAiImg : 1, // 1 — включить OpenAi Img команду /img; 0 — выключить
- enableWelcome : 1, // 1 — включить приветствие новых участников; 0 — выключить
- enableGoodbye : 1, // 1 — включить удаление уведомления о выходе участника из группы; 0 — выключить
- enableLinkBlocking : 1, // 1 — включить блокирование ссылок; 0 — выключить
- enableWallets : 1, // wallets
- superUsersIds : [‘000′,’000’], // id пользователей с привилегиями
- AllowedChatIdArr : [], // Массив чатов для которых работает данный бот. Пустотой массив — нет ограничений
- waitMessage : ‘Пожалуйста, подождите’, // Текст Пожалуйста, подождите
- enableStableDiffusion : 1, // 1 Включить генерацию изображений через StableDiffusion, если установлена сборка stable-diffusion-vg
- pathStableDiffusion : ‘D:/stable-diffusion-vg’, // Путь к корню StableDiffusion
- StableDiffusionAllowedModelsArr : [0=>’stabilityai/stable-diffusion-2-1′, ‘SD1.5: ‘runwayml/stable-diffusion-v1-5’], // Массив моделей для StableDiffusion которые будут работать с huggingface.co
- enableAiAudio : 1, // 1 Включить генерацию речи из текста, если установлена сборка ai-audio-vg
- pathAiAudio : ‘D:/ai-audio-vg’, // Путь к корню ai-audio-vg
Описание файлов
- backend/core/installComposer.php — Класс для установки composer
- backend/composer/composer.json — Файл настроек для composer
- backend/modules/telegram/services/sTelegram.php — Промежуточный класс между примерами и Telegram Bot API
- www/examples/telegrambotsettings.php — Пример настройки связи между телеграм ботом и обработчиком на php
- www/examples/telegrambotapi.php — Пример обработчика сообщений бота на php
- www/examples/telegramsendchat.php — Пример отправки сообщений в канал/чат
Источник: github.com
Боты: информация для разработчиков
Боты — специальные аккаунты в Telegram, созданные для того, чтобы автоматически обрабатывать и отправлять сообщения. Пользователи могут взаимодействовать с ботами при помощи сообщений, отправляемых через обычные или групповые чаты. Логика бота контролируется при помощи HTTPS запросов к нашему API для ботов.
Общие сведения
Что могут делать боты?
Вот несколько примеров использования ботов:
- Интеграция с другими сервисами. Например, бот может отправлять комментарии или управлять «умным домом». Или, например, отправлять вам уведомления при совершении каком-то действия или события (Примеры: GitHub Bot, Image Bot).
- Утилиты и инструменты. Бот может отображать погоду, переводить тексты или предупреждать о предстоящих событиях по вашему запросу (Например: бот опросов).
- Одно- и многопользовательские игры. Бот может поиграть с вами в шашки или шахматы, проводить викторины и так далее. (Пример: Trivia bot).
- Социальные сервисы. Бот может находить вам собеседника, основываясь на ваших общих интересах и увлечениях. (Пример: HotOrBot).
- Все, что вам захочется. Бота можно запрограммировать для чего угодно. Разве что посуду они помыть не смогут.
Как работают боты?
Как уже было сказано ранее, роботы — особые аккаунты, которые не требуют номера телефона при создании. По сути, эти аккаунты играют роль интерфейса к вашему сервису, который работает на удалённом сервере.
Самое интересное в роботах это то, что для их создания вам не нужно изучать низкоуровневые методы работы с MTProto и шифрованием — общение с роботом организовано при помощи обычного HTTPS интерфейса с упрощёнными методами Telegram API. Мы назвали его Bot API.
Примечание
Рекомендуем также ознакомиться с подробным описанием Bot API.
Как создать бота?
Чем бот отличается от обычного аккаунта?
Суперспособности
У роботов Telegram есть много уникальных возможностей — например, кастомизированные клавиатуры, дополнительные интерфейсы для команд по умолчанию, внешнее связывание и специальные режимы приватности для групп.
Инлайн-режим
Пользователи могут общаться с вашим ботом напрямую из поля ввода сообщения — из любого чата или группы. Для этого нужно всего лишь набрать имя пользователя вашего бота и запрос для поиска. Получив запрос, бот может возвратить какие-либо результаты. Как только пользователь нажмёт на один из них, он сразу же отправится в чат. Таким образом можно запрашивать контент от бота в чатах, группах или каналах.
Игры
С помощью ботов пользователи могут играть в HTML5-игры в группах или приватных чатах. Игровая платформа Telegram поможет составить таблицу рекордов и оповещать пользователей об изменении рейтинга.
Под капотом у игр — HTML5, поэтому вы можете создавать игры любой сложности. На данный момент командой Telegram созданы несколько демо-игр:
Клавиатуры
Одна из самых необычных возможностей Bot API — кастомизированные клавиатуры. При передаче сервером ответа есть возможность передать команду на отображение специальной клавиатуры с предустановленными вариантами ответа (см. ReplyKeyboardMarkup). Клиент Telegram, получив сообщение, отобразит пользователю вашу клавиатуру. Нажатие на клавишу сразу же отправит на сервер соответствующую команду. Таким образом можно значительно упростить взаимодействие робота с пользователем. На данный момент для отображения на клавише могут использоваться эмодзи и текст. Вот несколько примеров таких клавиатур:
За более подробной информацией обращайтесь к описанию метода sendMessage.
Команды
Команды представляют собой более гибкий способ общения с ботом. Рекомендуется следующий синтаксис:
/команда [необязательный] [аргумент]
Команда должна начинаться с символа косой черты «/» и не может быть длиннее 32 символов. Команды могут состоять из букв латинского алфавита, цифр и подчёркивания. Несколько примеров:
/get_messages_stats /set_timer 10min Alarm! /get_timezone London, UK
Сообщения, начинающиеся с косой черты, будут всегда доставляться боту (точно также, как и при ответе на его сообщения и на @упоминания бота в чате). Приложения Telegram будут:
Если в группе есть несколько ботов, вы можете дописать после команды имя бота, чтобы избежать коллизий в общих командах:
Это происходит автоматически, если вы выбираете команду из списка доступных.
Глобальные команды
Чтобы пользователям было проще работать с ботами, мы просим всех разработчиков реализовывать поддержку нескольких простых команд. В интерфейсе приложений Telegram будут ярлыки (быстрые ссылки) для этих команд.
- /start — начинает общение с пользователем (например, отправляет приветственное сообщение). В эту команду также можно передавать дополнительные аргументы (см. внешнее связывание).
- /help — отображает сообщение с помощью по командам. Оно может представлять собой короткое сообщение о вашем боте и список доступных команд.
- /settings — (по возможности) возвращает список возможных настроек и команды для их изменения.
При попытке начать общение с роботом, пользователь увидит кнопку СТАРТ. На странице профиля бота также будут доступны ссылки Помощь и Настройки.
Режим приватности
Ботов часто добавляют в группы, чтобы получать различную информацию — новости, уведомления и т.д. Однако, при добавлении бота вы наверняка спрашивали себя: «А что если этот маленький засранец пересылает всю групповую переписку куда-то “налево”?» Именно поэтому у роботов есть режимы приватности.
Робот с включенным режимом приватности не будет получать всех сообщений, а только сообщения, удовлетворяющие этим условиям:
Это хорошо со всех сторон: во первых, некоторые люди будут спать спокойно (в своих шапочках из фольги), не опасаясь, что их будут прослушивать. Во-вторых, режим приватности избавляет разработчиков от необходимости обрабатывать сотни ненужных сообщений из групповых чатов.
Режим приватности включен по умолчанию во всех ботах. Он может быть выключен — тогда бот начнёт получать все сообщения, как и обычный пользователь. Всем участникам конференции виден текущий статус режима приватности в списке участников группы.
Добавляем телеграм-бота на проект — «Java-проект от А до Я»
Приветствую вас, мои дорогие друзья. Да-да, именно друзья. Я уже так сросся с этой серией статей, что те люди, которые регулярно пишут в комментариях свою благодарность и/или показывают, что прочли и поняли материал, стали уже близки. Мы с вами идем с двух сторон к одной цели. Вы хотите понять, а я хочу объяснить. И конечная цель у нас одна — написанное приложение, которое понятно вам от начала до конца. О многом из того, что опишу в этой статье вы, возможно, уже наслышаны. Не думаю, что я расскажу что-то новое и неординарное (но в рамках проекта знать/повторить это необходимо). Весной я писал бота для себя, так что будем опираться на его “лекала”.
Пишем JRTB-2
Будем делать так же, как делали в статье с задачей JRTB-0:
- Обновляем main ветку в локальном проекте через комбинацию ctrl + t .
- На основе main ветки создаем:
- Добавляем бота.
- Создаем новый коммит с описанием сделанного и пушим на гитхаб.
- Создаем пул-реквест на main ветку и еще раз проверяем. Ждем, чтобы прошел билд (github actions), мержим в мейн ветку.
- Закрываем соответствующую задачу.
Что такое телеграм-бот
- /start — начало работы с ботом;
- /stop — конец работы с ботом.