Исключение пользователей Telegram групп, при увольнении в 1с
Доброго времени суток!)
Есть задача, при увольнении сотрудника в 1с, исключать его из корпаративных чатов и групп в Телеграм. (сопоставленные id сотрудников есть)
Погуглив, нашел что сделать это, можно передав команду "banChatMember" боту, который должен обладать админскими правами в группах, из которых нужно исключать.
Пытаюсь воспроизвести данный способ в тестовом варианте - ничего не получается((
Код, которым отправляю команду:
Заголовки = Новый Соответствие;
Заголовки.Вставить("chat_id","-************");
Заголовки.Вставить("user_id","*********");
Приемник = "bot63247*****:*****CAp8SIyAmzsbmqa5Ct************/banChatMember";
HTTPСоединение = Новый HTTPСоединение("api.telegram.org",443,,,,,Новый ЗащищенноеСоединениеOpenSSL());
HTTPЗапрос = Новый HTTPЗапрос(Приемник,Заголовки);
Ответ = HTTPСоединение.Получить(HTTPЗапрос);
Пробовал отправлять разными способами, ответ всегда один:
{"ok":false,"error_code":400,"description":"Bad Request: invalid user_id specified"}
Подскажите пожалуйста, что я делаю не так? и можно ли с помощью данной команды решить поставленную задачу? заранее благодарю!
Есть задача, при увольнении сотрудника в 1с, исключать его из корпаративных чатов и групп в Телеграм. (сопоставленные id сотрудников есть)
Погуглив, нашел что сделать это, можно передав команду "banChatMember" боту, который должен обладать админскими правами в группах, из которых нужно исключать.
Пытаюсь воспроизвести данный способ в тестовом варианте - ничего не получается((
Код, которым отправляю команду:
Заголовки = Новый Соответствие;
Заголовки.Вставить("chat_id","-************");
Заголовки.Вставить("user_id","*********");
Приемник = "bot63247*****:*****CAp8SIyAmzsbmqa5Ct************/banChatMember";
HTTPСоединение = Новый HTTPСоединение("api.telegram.org",443,,,,,Новый ЗащищенноеСоединениеOpenSSL());
HTTPЗапрос = Новый HTTPЗапрос(Приемник,Заголовки);
Ответ = HTTPСоединение.Получить(HTTPЗапрос);
Пробовал отправлять разными способами, ответ всегда один:
{"ok":false,"error_code":400,"description":"Bad Request: invalid user_id specified"}
Подскажите пожалуйста, что я делаю не так? и можно ли с помощью данной команды решить поставленную задачу? заранее благодарю!
Найденные решения
(11)Попробуйте тогда передавать в параметрах get запроса, вот так:
идчата = "************";
идпользователя = "*************";
Приемник = СтрШаблон("bot***************************************/banChatMember?chat_id=%1&user_id=%2", идчата, идпользователя);
HTTPСоединение = Новый HTTPСоединение("api.telegram.org",443,,,,,Новый ЗащищенноеСоединениеOpenSSL());
HTTPЗапрос = Новый HTTPЗапрос(Приемник);
Ответ = HTTPСоединение.Получить(HTTPЗапрос);
ПоказатьОстальные ответы
Подписаться на ответы
Инфостарт бот
Сортировка:
Древо развёрнутое
Свернуть все
(10)
Ответ ровно такой же( {"ok":false,"error_code":400,"description":"Bad Request: invalid user_id specified"}
id точно правильные
Что то я упускаю(
идчата = "-************";
идпользователя = "***********";
Приемник = "bot***********************************/banChatMember";
HTTPСоединение = Новый HTTPСоединение("api.telegram.org",443,,,,,Новый ЗащищенноеСоединениеOpenSSL());
HTTPЗапрос = Новый HTTPЗапрос(Приемник);
HTTPЗапрос.УстановитьТелоИзСтроки(СтрШаблон("{""chat_id"" : %1, ""user_id"": %2}", идчата, идпользователя));
Ответ = HTTPСоединение.Получить(HTTPЗапрос);
ПоказатьОтвет ровно такой же( {"ok":false,"error_code":400,"description":"Bad Request: invalid user_id specified"}
id точно правильные
Что то я упускаю(
(11)Попробуйте тогда передавать в параметрах get запроса, вот так:
идчата = "************";
идпользователя = "*************";
Приемник = СтрШаблон("bot***************************************/banChatMember?chat_id=%1&user_id=%2", идчата, идпользователя);
HTTPСоединение = Новый HTTPСоединение("api.telegram.org",443,,,,,Новый ЗащищенноеСоединениеOpenSSL());
HTTPЗапрос = Новый HTTPЗапрос(Приемник);
Ответ = HTTPСоединение.Получить(HTTPЗапрос);
Показать
(12) С таким способом ошибка звучит как:
{"ok":false,"error_code":400,"description":"Bad Request: PARTICIPANT_ID_INVALID"}
В сети пишут что так может быть изза того, что бот "забыл пользователя", как я бы не старался, вспоминать не хочет))
Писал боту с удаляемого акка, пересылал сообщения из чата боту итд... Снова тупик(
{"ok":false,"error_code":400,"description":"Bad Request: PARTICIPANT_ID_INVALID"}
В сети пишут что так может быть изза того, что бот "забыл пользователя", как я бы не старался, вспоминать не хочет))
Писал боту с удаляемого акка, пересылал сообщения из чата боту итд... Снова тупик(
(12) Заработало!) не понял точно сам в чем была магия, несколько раз переназначил боту админские права и получилось (хотя делал это и ранее, магия))) метод banChatMember работает именно так как я ожидал, метод unbanChatMember позволяет разблокировать пользователя, и заново добавить его в группу. Всем спасибо!)
(2)там написано, что если передать 0, то забанится навсегда
И если меньше 30 секунд или больше 366 дней, тоже
https://core.telegram.org/tdlib/docs/classtd_1_1td__api_1_1ban_chat_member.html
И если меньше 30 секунд или больше 366 дней, тоже
Есть версия что бот "забывает" пользователей, но теме 5 лет и речь про getChatMember
https://stackoverflow.com/questions/49934454/telegram-bot-api-getchatmember-throws-user-id-invalid-for-valid-user
Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот