Как ограничить доступ к боту telegram
Наши партнеры
Сведения об ООО «Ваан» внесены в реестр аккредитованных организаций, осуществляющих деятельность в области информационных технологий. ООО «Ваан» осуществляет деятельность, связанную с использованием информационных технологий, по разработке компьютерного программного обеспечения, предоставлению доступа к программе для ЭВМ и является правообладателем программы для ЭВМ «Платформа FL.ru (версия 2.0)».
Продолжая пользоваться сайтом, вы соглашаетесь с условиями использования файлов cookie
Как ограничить доступ к боту телеграм?
Здравствуйте.
Есть некий бот, подскажите пожалуйста, каким образом разрешить ему доступ только определенным пользователям?
Интересует именно способ через белый список чат ид юзеров.
Если пишет человек, и его чат ид есть в списке, он может работать, если нет, тогда ничего не происходит, или будет ответ что у вас нет доступа к боту.
Спасибо.
- Вопрос задан более трёх лет назад
- 37544 просмотра
Комментировать
Решения вопроса 1
Использовать в начале хэндлер с проверкой на наличе id в переменной(или в чем то другом)
Пример для python + telebot
@bot.message_handler(func=lambda message: message.chat.id not in users) def some(message): bot.send_message(message.chat.id, "Sorry")
Ответ написан более трёх лет назад
enabl3 @enabl3 Автор вопроса
Скорее всего что то не так сделал.
Выдает ошибку
@bot.message_handler(func=lambda message: message.chat.id not in users)
NameError: global name ‘users’ is not defined
enabl3, users — переменная(список), в примере ее нет.
задается:
users = [‘id1’, ‘id2’ и т.д]
enabl3 @enabl3 Автор вопроса
sar0ka8, написал свой чатИД, перезапустил бота, а он мне отвечает Sorry, как и всем остальным кто ему пишет. Что еще может быть не так?
Нужно посмотреть в каком типе бот получает id int или str(на сколько я помню int), и проверить совпадает ли тип с значениями списка.
Возможно, что вы добавили не id, а username.
Это из того, что я могу придумать не видя код
enabl3 @enabl3 Автор вопроса
sar0ka8, в коде бота написал так:
users = [‘271868950’]
@bot.message_handler(func=lambda message: message.chat.id not in users)
def some(message):
bot.send_message(message.chat.id, «Sorry»)
Это тот ид что отдает мне curl
(ид изменил)
Проверил, id является числом(int), сейчас элементы users это строки. Правильный вариант:
users = [271868950]
Как заблокировать или разблокировать участника группы или канала в Telegram
С помощью чат-ботов Telegram вы можете заблокировать или разблокировать участника группы или канала. К примеру, вы можете заблокировать участников группы, от которых не поступила оплата за заказанный товар или услугу.
Заблокировать или разблокировать участников вы можете только в тех группах и каналах, где ваш чат-бот является администратором. Вы не можете заблокировать или разблокировать владельца группы или канала.
Содержание
Какие существуют группы и каналы в Telegram
В Telegram вы можете создать группу и канал. Группы и каналы могут быть частными и публичными. Дополнительно для частных групп вы можете включить историю чата — таким образом новые пользователи могут прочитать всю историю сообщений.
В зависимости от типа группы или канала, блокировка и разблокировка работает разными способами.
В таблице рассмотрим основные отличия групп и каналов Telegram.
| Особенность | Частная группа с выключенной историей чата | Частная группа с включенной историей чата | Публичная группа | Частный канал | Публичный канал |
| Публикация сообщений | могут публиковать все участники, сообщения подписываются именем участника группы | может публиковать только администратор, сообщения подписываются названием канала или настроенной подписью администратора | |||
| Доступ к профилям других участников | участники могут видеть профили друг друга | участники не могут видеть профили друг друга | |||
| Уведомления о новых участниках | отображаются для всех участников | отображаются только для администратора | |||
| История сообщений для новых участников | закрыта | доступ к сообщениям с момента создания группы или канала | |||
| Типы ссылок | ссылка-приглашение вида https://t.me/+a12bcEd3F45gH67i : постоянная, временная или с ограничением на число использований | публичная ссылка вида t.me/group_name или ссылка-приглашение вида https://t.me/+a12bcEd3F45gH67i : временная или с ограничением на число использований | ссылка-приглашение вида https://t.me/+a12bcEd3F45gH67i : постоянная, временная или с ограничением на число использований | публичная ссылка вида t.me/channel_name или ссылка-приглашение вида https://t.me/+a12bcEd3F45gH67i : временная или с ограничением на число использований | |
| Поиск | недоступна в поиске | недоступна в поиске | доступна в поиске | недоступен в поиске | доступен в поиске |
Как изменить тип группы и канала в Telegram
Чтобы изменить тип группы в Telegram, перейдите к настройкам вашей группы. В мобильном приложении нажмите на иконку группы в правом верхнем углу и выберите «Изменить». В десктопной версии приложения нажмите на три точки в правом верхнем углу и выберите «Управление группой».
Нажмите «Тип группы». Для типа «Частный» вы увидите ссылку-приглашение, которую можно отправлять пользователям. Для типа «Публичный» введите ссылку, по которой пользователи смогут перейти или найти группу в поиске.

Чтобы включить историю чата для частной группы, в настройках вашей группы нажмите «История чата» и выберите «Видна».

Чтобы изменить тип канала в Telegram, в настройках вашего канала нажмите «Изменить» и выберите «Тип канала». Для типа «Частная» вы увидите ссылку-приглашение, которую можно отправлять пользователям. Для типа «Публичная» введите ссылку, по которой пользователи смогут перейти или найти канал в поиске.

Как заблокировать участника группы или канала Telegram
Перетащите элемент «Действие» с левой панели в рабочую область. Соедините его с элементом, после выполнения которого нужно заблокировать участника. В нашем примере это «Фильтр».
Укажите действие «Заблокировать в группе или канале» и выберите группу или канал из списка.

Как работает блокировка для группы и канала в Telegram
Частная группа
Заблокированные участники частной группы не будут удалены из группы, но не будут видеть новые сообщения от других участников, не смогут больше отправлять сообщения в группу или найти группу в поиске. Они смогут зайти в такую группу по ссылке-приглашению.

Частная группа с включенной историей чата
Заблокированные участники частной группы с включенной историей чата будут удалены из группы и не смогут зайти по ссылке-приглашению или найти группу в поиске.

Публичная группа
Заблокированные участники публичной группы будут удалены из группы, не смогут зайти по публичной ссылке или ссылке-приглашению. Они смогут найти группу в поиске, но не смогут на нее подписаться.

Частный канал
Заблокированные участники частного канала будут удалены из канала и не смогут зайти по ссылке-приглашению или найти канал в поиске.

Публичный канал
Заблокированные участники публичного канала будут удалены из канала, не смогут зайти по публичной ссылке или ссылке-приглашению. Они смогут найти канал в поиске, но не смогут на него подписаться.

Как разблокировать участника группы или канала Telegram
Чтобы разблокировать участника, укажите действие «Разблокировать в группе или канале» и выберите группу или канал из списка.

Рекомендуем добавить блок «Сообщение» с публичной ссылкой или ссылкой-приглашением для входа в группу или канал после действия «Разблокировать в группе или канале», чтобы пользователь мог зайти в него после разблокировки.

Как работает разблокировка для группы и канала в Telegram
Частная группа
Разблокированные участники частной группы смогут зайти в группу по ссылке-приглашению и найти группу в поиске после подписки. Они не смогут просмотреть историю сообщений за тот период, когда были заблокированы.

Частная группа с включенной историей чата
Разблокированные участники частной группы с включенной историей чата смогут зайти в канал по ссылке-приглашению, найти группу в поиске после подписки, а также просмотреть историю сообщений за тот период, когда были заблокированы.

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

Частный канал
Разблокированные участники частного канала смогут зайти в канал по ссылке-приглашению и просмотреть историю сообщений за тот период, когда были заблокированы, но не смогут найти канал в поиске до подписки.

Публичный канал
Разблокированные участники публичного канала смогут зайти в канал по публичной ссылке или ссылке-приглашению и просмотреть историю сообщений за тот период, когда были заблокированы, а также найти канал в поиске и подписаться.
Ограничение доступа к телефону для бота Telegram?
Есть бот Телеграм, который выдает данные из базы по запросу: телефон, почту и т.д
При этом сам бот собирает данные у тех, кто его установил, в том числе координаты, группы, в которых состоит, список контактов и фото.
Вопрос: есть ли механизм ограничений для ботов в части данные на устройстве, к которым они могут иметь доступ? Или получается, что любой установленный бот имеет те права, которыми наделил его разработчик?
- Вопрос задан более трёх лет назад
- 347 просмотров