Бот Телеграм который удаляет сообщение о вступлении в чат

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

Для того чтобы отследить id которое телеграм присвоил сообшению необходимо при генерации из внешнего скрипта (СКРИПТ1.php) указать два дополнительных ключа:

  • $return_mas[‘msg_insert_id_url’] = ‘http://ХОСТ/ПУТЬ_К_СКРИПТУ2/СКРИПТ2.php’;
  • $return_mas[‘msg_insert_unic’] = УНИКАЛЬНОЕ_ЗНАЧЕНИЕ;//Например, time()

Где, СКРИПТ2.php — Ваш php скрипт на который редактор отправит данные после того как телеграм оповестит его какой id он присвоил вашему сообщению.

УНИКАЛЬНОЕ_ЗНАЧЕНИЕ — необходимо добавить чтобы понимать какой id присланный редактором какому из ваших сгенерированных сообщений соответствует.

СКРИПТ2.php получит от редакора массив data в формате json, в котором будут данные сообщения. Данные будут в массиве, потому что если вы отправили из внешнего сообщение с вложениями (например, картинками) — то ваше сообщение разобъется на несколько и каждому изображению телеграм присвоит отдельный id

Как добавить бота который удаляет системные сообщения в telegram

Пример данных, которые получит от редактора файл СКРИПТ2.php:

Msg edit 1.png

Демо файла ФАЙЛ.php, который принимает id сообщения, сгенерированного неким вашим скриптом СКРИПТ1.php — пример написан под библиотеку Ebot Server и кладется в папку, например, /all/ebot_server1/modules/url_resp/scripts, но может вполне отработать и независимо от библиотеки (в этом случае удалите подключенные файлы и укажите значения таких переменных как $bot_id и т.д. самостоятельно). Демо пример удалит сообщение, которое сгенерировал СКРИПТ1.php

Источник: ebot.one

Управление сообщениями в боте телеграм

Отправка сообщений с помощью бота

Класс types.Message является основным классом в библиотеке aiogram для представления сообщений в Telegram. Он содержит различные методы и атрибуты для работы с сообщениями.

Некоторые из наиболее часто используемых атрибутов и методов класса `types.Message`:

  1. message_id : Уникальный идентификатор сообщения.
  2. from_user : Объект types.User , представляющий отправителя сообщения.
  3. date : Дата и время отправки сообщения.
  4. chat : Объект `types.Chat`, представляющий чат, в котором было отправлено сообщение.
  5. forward_from : Объект types.User , представляющий отправителя оригинального сообщения, если оно было переслано.
  6. forward_from_chat : Объект types.Chat , представляющий чат, из которого было переслано оригинальное сообщение, если оно было переслано из группы или канала.
  7. forward_from_message_id : Идентификатор оригинального сообщения, если оно было переслано.
  8. text : Текст сообщения.
  9. entities : Список объектов types.MessageEntity , представляющих различные сущности в тексте сообщения, такие как упоминания пользователей, хэштеги и т.д.
  10. reply_to_message : Объект types.Message , представляющий сообщение, на которое данное сообщение является ответом.
  11. reply_markup : Объект `types.InlineKeyboardMarkup` или `types.ReplyKeyboardMarkup`, представляющий клавиатуру, привязанную к сообщению.
  12. delete() : Метод для удаления сообщения.
  13. edit_text() : Метод для редактирования текста сообщения.
  14. reply() : Метод для отправки ответного сообщения.
Еще по теме:  Как назвать канал в Телеграмме эстетично на русском

Методы, которые позволяют отправлять сообщения

Для отправки текстового сообщения в библиотеке aiogram можно использовать несколько методов. Некоторые из них:

  • bot.send_message(chat_id, text) : Этот метод позволяет отправить текстовое сообщение в указанный чат. Необходимо указать идентификатор чата ( chat_id ) и текст сообщения ( text ).

await bot.send_message(chat_id, «Привет, мир!»)

  • message.answer(text) , который позволяет отправить ответное сообщение на текущее сообщение. Этот метод является альтернативой методу message.reply(text) .

await message.answer(«Спасибо за ваше сообщение!»)

Метод message.answer() автоматически определяет идентификатор чата и идентификатор сообщения, на которое нужно ответить, поэтому вам не нужно указывать их явно.

  • message.reply(text) : Этот метод позволяет отправить ответное сообщение на текущее сообщение. Необходимо указать текст ответного сообщения ( text ).

await message.reply(«Спасибо за ваше сообщение!»)

  • message.edit_text(text) : Этот метод позволяет отредактировать текст текущего сообщения. Необходимо указать новый текст сообщения ( text ).

await message.edit_text(«Новый текст сообщения»)

  • bot.send_message(chat_id, text, reply_to_message_id) : Этот метод позволяет отправить текстовое сообщение в указанный чат в качестве ответа на другое сообщение. Необходимо указать идентификатор чата ( chat_id ), текст сообщения ( text ) и идентификатор сообщения, на которое данное сообщение будет ответом ( reply_to_message_id ).

await bot.send_message(chat_id, «Ответ на ваше сообщение», reply_to_message_id=message_id)

Различия между send_message, answer и reply

Метод bot.send_message отправляет сообщение в произвольный чат, который указывается в параметре chat_id . Метод answer() , позволяет отправить сообщение в ответ на предыдущее сообщение в текущем чате. При этом, сообщение, на которое дается ответ не пересылается. Метод reply() , позволяет отправить сообщение в ответ на предыдущее сообщение в текущем чате. Cообщение, на которое дается ответ также отправляется.

Результат работы функций anwer и reply

Пример готового бота, который умеет отправлять сообщения

В этом примере бот будет отвечать на команды /start и /help , а также на любые другие текстовые сообщения, отправленные пользователем. При получении команды /start он отправит приветственное сообщение, а при получении команды /help отправит справку о командах бота. Для всех остальных сообщений бот отправит эхо-ответ с содержимым полученного сообщения.

Еще по теме:  Как поставить пароль на Телеграмм на Айфоне 13

Просто замените ‘YOUR_BOT_TOKEN’ на фактический токен вашего бота, запустите скрипт, и ваш бот будет готов к работе. Вы можете добавить дополнительные команды и функциональность, чтобы адаптировать его под свои потребности.

Отправка других типов контента с помощью бота

В библиотеке aiogram вы можете отправлять различные типы контента помимо простого текста. Вот некоторые из наиболее распространенных типов контента, которые вы можете отправлять с помощью aiogram:

1. Фотографии: Метод send_photo используется для отправки фотографий. Вы можете указать путь к файлу фотографии на вашем сервере или использовать URL-адрес изображения в Интернете. Пример использования:

await bot.send_photo(chat_id, photo=open(‘photo.jpg’, ‘rb’), caption=’Красивая фотография’)

2. Аудио: Метод send_audio используется для отправки аудиофайлов. Вы можете указать путь к файлу аудио или использовать URL-адрес аудиофайла в Интернете. Пример использования:

await bot.send_audio(chat_id, audio=open(‘audio.mp3’, ‘rb’), caption=’Музыкальный трек’)

3. Документы: Метод `send_document` используется для отправки документов. Вы можете указать путь к файлу документа на вашем сервере или использовать URL-адрес документа в Интернете. Пример использования:

4. Видео: Метод send_video используется для отправки видеофайлов. Вы можете указать путь к файлу видео или использовать URL-адрес видеофайла в Интернете. Пример использования:

await bot.send_video(chat_id, video=open(‘video.mp4’, ‘rb’), caption=’Видео-ролик’)

5. Голосовые сообщения: Метод send_voice используется для отправки голосовых сообщений. Вы можете указать путь к файлу голосового сообщения на вашем сервере или использовать URL-адрес голосового сообщения в Интернете. Пример использования:

await bot.send_voice(chat_id, voice=open(‘voice.ogg’, ‘rb’), caption=’Голосовое сообщение’)

Пример реализации бота с возможностью отправки разного типа контента

В этом примере бот реагирует на различные команды ( /start , /text , /video , /audio , /document , /photo , /voice ). Когда пользователь отправляет одну из этих команд, бот отправляет соответствующий контент в ответ.

Просто замените ‘YOUR_BOT_TOKEN’ на фактический токен вашего бота, а также укажите пути к файлам видео, аудио, документа, фотографии и голосового сообщения. После этого запустите скрипт, и ваш бот будет готов к работе. Вы можете добавить дополнительные команды и функциональность, чтобы адаптировать его под свои потребности.

Примеры ботов, работающих с сообщениями

Бот, удаляющий два последних сообщения в чате

В этом примере бот реагирует на команду /delete_last . Когда пользователь отправляет эту команду, бот получает информацию о чате, а затем получает список последних двух сообщений в этом чате с помощью метода bot.get_chat_history() . Затем бот использует метод bot.delete_message() для удаления каждого из этих двух сообщений.

Еще по теме:  Как клонировать приложение Телеграмм на Айфоне

Просто замените ‘YOUR_BOT_TOKEN’ на фактический токен вашего бота. Запустите скрипт, и ваш бот будет готов к работе. Когда пользователь отправляет команду /delete_last , бот удалит два последних сообщения из чата.

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

Бот, который в ответ на пересланное из другого чата сообщения, отправляет url ссылку на исходное сообщение

В этом примере бот проверяет, является ли полученное сообщение пересланным. Если это так, бот извлекает информацию об исходном чате и сообщении из свойства forward_from_chat и forward_from_message_id . Затем он создает URL-ссылку на исходное сообщение с помощью полученной информации. В ответ на пересланное сообщение, бот отправляет URL-ссылку, которая ведет к исходному чату и сообщению.

Просто замените ‘YOUR_BOT_TOKEN’ на фактический токен вашего бота. Запустите скрипт, и ваш бот будет готов к работе. Когда пользователь пересылает сообщение из другого чата, бот отправляет URL-ссылку на исходный чат и исходное сообщение в ответ.

Бот — фильтр ненормативной лексики

В этом примере бот реагирует на все сообщения в чате и проверяет наличие запрещенных слов из списка forbidden_words в тексте сообщения. Если хотя бы одно из запрещенных слов обнаружено, бот отправляет предупреждение о недопустимости ругательства.

Просто замените ‘YOUR_BOT_TOKEN’ на фактический токен вашего бота и расширьте список forbidden_words в соответствии с вашими требованиями. Запустите скрипт, и ваш бот будет готов к мониторингу сообщений и отправке предупреждений о ненормативной лексике.

Источник: victor-komlev.ru

Блог

Хаб Фриланс

Телеграм бот удаляющий уведомления о вступлении и уходе пользователей

  • Post category: Разработка и IT / Скрипты и боты / Чат-боты
  • Post comments: 0 комментариев

Фрилансер информация:

Таблица данных исполнителя: Наименование Данные пользователя
Псевдоним: nzkiwi
Полное имя пользователя: Анон
Место нахождение или проживание: Новая Зеландия
Профессия: Разработчик

Краткая информация:

Пользователь не написал о себе

Описание состава работы:

Когда пользователи вступают или покидают группы в Телеграм, возникает информационный мусор в виде уведомлений, которые зачастую мешают общению в группе, делая его не таким комфортным.

Рейтинг
( Пока оценок нет )
Загрузка ...