Как сделать чтобы бот мог писать любому пользователю а не по id

Обновлено: 07.07.2024

Хочу сделать музыкального бота. Для него я хочу создать отдельный голосовой и текстовый чат. Я хочу, чтобы только в определенном текстовом чате были доступны его функции (чтобы включалась музыка) и чтобы он мог присоединиться только к отведенному голосовому каналу. Помогите, как это сделать? (Я не создаю своего бота, я хочу найти и настроить уже готового бота).

Начинающий программист(JavaScript и Python) Знаю практически всё о Minecraft PE · 1 авг 2020

Для этого сервер должен быть изначально правильно настроен, то есть, у @everyone не должно быть никаких прав, и должна быть роль типа @верифицирован или @участник для новых участников, а у ботов этих ролей не должно быть.
1) Настроить сервер на верификацию
2) Забрать у муз бота все права
3) Создать роль @Музыкальный бот, тоже без прав
4) Сделать каналы для музыки приватными(для @участник и @музыкальный бот)
5) В каналах для музыки выдать роли @музыкальный бот все права
6) Если что-то не понятно, могу помочь с сервером, вступив на него


В этой статье мы реали­зуем прос­той, но край­не полез­ный про­ект на Python — бота для Telegram. Боты — это неболь­шие скрип­ты, которые могут вза­имо­дей­ство­вать с API, что­бы получать сооб­щения от поль­зовате­ля и отправ­лять информа­цию в раз­ные чаты и каналы.

Python для новичков

  • / newbot — соз­дать нового бота;
  • / mybots — редак­тировать ваших ботов;
  • / setname — сме­нить имя бота;
  • / setdescription — изме­нить опи­сание бота;
  • / setabouttext — изме­нить информа­цию о боте;
  • / setuserpic — изме­нить фото ава­тар­ки бота;
  • / setcommands — изме­нить спи­сок команд бота;
  • / deletebot — уда­лить бота.

От­пра­вим бате‑боту коман­ду / newbot , что­бы соз­дать нового бота. В ответ он поп­росит ввес­ти имя будуще­го бота, его мож­но писать на рус­ском. Пос­ле вво­да име­ни нуж­но будет отпра­вить адрес бота, при­чем он дол­жен закан­чивать­ся на сло­во bot. Нап­ример, xakepbot или xakep_bot . Если адрес будет уже кем‑то занят, BotFather нач­нет изви­нять­ся и про­сить при­думать что‑нибудь дру­гое.

Для вза­имо­дей­ствия с Telegram API есть нес­коль­ко готовых модулей. Самый прос­той из них — Telebot. Что­бы уста­новить его, набери

В Linux, воз­можно, понадо­бит­ся написать pip3 вмес­то pip , что­бы ука­зать, что мы хотим работать с треть­ей вер­сией Python.

Эхо-бот

Для начала реали­зуем так называ­емо­го эхо‑бота. Он будет получать от поль­зовате­ля тек­сто­вое сооб­щение и воз­вра­щать его.

Авторизуясь в LiveJournal с помощью стороннего сервиса вы принимаете условия Пользовательского соглашения LiveJournal

  • Page Summary
  • notglamour — Без темы [+2]
  • (Анонимно) — Без темы [+1]
  • (Анонимно) — Тоже не реагирует на команды [+1]
  • (Анонимно) — специфика ВЕБХУКА [+1]
  • (Анонимно) — класс [+1]
  • livejournal — Делаем простейшего бота для мессенджера Telegram [+0]
  • Stanislav Kotrutsa — Без темы [+2]
  • (Анонимно) — Нашёл решение [+10]
  • helene50 — Без темы [+18]
  • Антон Утыльев — бот не реагирует на команды [+1]
  • sublustris_ru — Подскажите пожалуйста. [+1]
  • (Анонимно) — программер [+1]
  • (Анонимно) — Полезность [+1]
  • (Анонимно) — перевод в нижний регистр (RU) [+1]

А теперь приступим к изучению того, как сделать нечто подобное.

Мессенджер Telegram является удобной платформой для создания и использования роботизированных контактов (ботов), выполняющих различные функции, расширяющие функциональность мессенджера. Классическим ботом можно считать бота получения прогноза погоды. Например, добавьте себе в контакты бота @weatherman_bot и, обращаясь к нему, сможете получить прогноз погоды для заданного города на заданном языке и на один из предустановленных промежутков времени.


  1. Для зачатия нашего бота нам понадобится бот-отец @BotFather. Добавляем его в контакты и отправляем ему команду /newbot. BotFather предложит дать имя нашему боту. Это имя будет отображаться в чате при общении с ботом, так что смело можем использовать кириллицу и пробелы. Если в дальнейшем вы захотите поменять это имя, то просто воспользуйтесь командой /setname.
  2. Далее BotFather предложит задать username (имя пользователя) для бота. Имя должно быть от 5 до 32 символов и заканчиваться словом bot, которое при желании можно отделить символом нижнего подчёркивания. Если введённое username уже будет в его базе, BotFather предложит вам ввести другое имя. В ответ на ввод правильного имени BotFather зарегистрирует нового бота и выдаст вам маркер (token) для доступа к программному интерфейсу нашего бота. Маркер представляет собой просто уникальный набор символов.

Базовое наполнение бота

Конечно, можно найти и установить себе на бесплатный сайт бесплатный SSL, можно даже использовать самоподписанный сертификат, но для Webhook есть более удобное и быстрое решение.

Регистрируемся на сайте Cloud9. Это облачная интегрированная среда разработки, в которой можно и написать, и опубликовать свой сайт. К сожалению, функционирование вашего сайта будет заморожено, если в течение недели над проектом никто не будет работать, и возобновлено в случае продолжения работ. Но для разработки и тестирования бота эта среда подходит нам как нельзя лучше. Впоследствии бота можно будет развернуть уже на настоящем хостинге, таком, как, например, Heroku, однако на бесплатном тарифе там тоже есть свои особенности — он будет работать не более 18 часов в сутки. Пока запросов на сайт нет, он засыпает и экономит своё время. При обращении он просыпается, поэтому возможна некоторая задержка первого ответа от бота. Пока пользователей у бота немного, этот вариант вполне может обеспечить круглосуточную работу.

Возможно, вы найдёте другой бесплатный хостинг с поддержкой SSL, который бы функционировал круглосуточно и без ограничений, или создадите свой самоподписанный сертификат, но для разработки и отладки бота Cloud9 является наиболее удобной средой. Далее речь пойдёт о коде на PHP, но после регистрации на сайте Cloud9 вы можете выбрать для работы и другие языки.

Создаётся ваше рабочее пространство и открывается редактор проекта. Если проект создан с нуля, то для удобства меняем имя основного файла hello-world.php на имя нашего бота. Также добавляем файл index.php со следующим содержанием (текст ИМЯ_ВАШЕГО_БОТА замените на имя сввоего бота):


В этом случае при прямом обращении из браузера по адресу вашего сайта будет предлагаться открыть контакт в Telegram. Это можно проверить, запустив проект на выполнение и нажав внизу на появившуюся ссылку с адресом вашего сайта. Не забудьте потом остановить проект. Пишем код бота Шаблонный код нашего бота будет такой:

Нажимаем кнопку Run Project. Сайт становится видим в сети и его код готов быть вызванным из бота.

Привязка бота к коду

Чтобы бот вызывал написанный нами внешний код, нам надо сообщить ему адрес нашего php-файла. Для этого копируем в строку браузера следующую ссылку:

Текст ВАШ_МАРКЕР заменяем присланным ранее маркером, а текст URL_PHP_ ФАЙЛА заменяем на полный URL php-файла с нашим кодом. Имя сайта берём из строки, появившейся снизу на вкладке Apache & PHP, и добавляем к нему имя php-файла. После перехода по этому адресу браузер в случае успешной привязки возвращает текст:

Замечу в заключение, что правку кода в Cloud9 можно выполнять на ходу, не останавливая проект.

FleepBot — профессиональный инструмент для работы в Telegram. В нём вы можете создавать себе ботов двух типов: для постинга красивых отложенных публикаций и для приёма обратной связи.

В этой инструкции мы расскажем всё про бота обратной связи.


Начало работы в боте обратной связи от FleepBot

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


Вот что умеет бот обратной связи:

Статистика — данные по вашим пользователям, кнопкам и источникам трафика.

Автоответы — возможность настроить автоматические ответы на вопросы пользователей. В этом разделе вы можете научить бота отвечать на заранее подготовленные фразы вместо вас.

Команды в боте

Кроме настроек в вашем боте есть команды.


/unban - чтобы разблокировать человека в боте, используется аналогично.

Пользователь не увидит этих команд, они доступны только вам.

Другие полезные ссылки

@FleepSupportBot — техподдержка FleepBot. Если что-то не получается, то обязательно пишите - это лучшая поддержка в Telegram.

@fleepnews — здесь мы пишем про обновления проекта, выкладываем полезные материады, промокоды и кейсы.

Читайте также: