Я пытаюсь запрограммировать функцию, которая удаляет сообщение с помощью команды, отправленной пользователем.
- Пользователь отправляет команду / delmes
- Бот отправляет ответ на команду
- Бот удаляет сообщение, отправленное пользователем
Все, что мне удалось найти до сих пор (что могло бы помочь мне), было этой веткой переполнения стека: discord.py удалить сообщение автора после выполнения команды
Но когда я использовал код, как описано в решениях, я получил только AttributeError: объект «Бот» не имеет атрибута «delete_message» .
Справочник по API discord.py (https: //discordpy.readthedocs .io / en / latest / migrating.html # models-are-stateful / https://discordpy.readthedocs.io/en/latest/api.html?highlight=delete%20message#message) только показало, что часть кода была изменена на более новую версии. Так сказать, client.delete_message изменится на Message.delete () , если я правильно его истолковал!
После изменения кода на то, что, как я думал, должно быть, я получил: NameError: имя «Сообщение» не определено
КАК УДАЛИТЬ ЛИЧНЫЕ СООБЩЕНИЯ И ДРУЗЕЙ В ДИСКОРД 2023
Это мой код в самый последний момент. (Я относительно новичок в discord.py и использовал Python только в школе)
Ohannain 25 Окт 2020 в 20:28
1 ответ
Лучший ответ
Я не очень хорошо понял ваш вопрос, но, насколько я понимаю, когда команда выполняется, а затем после того, как бот отправляет сообщение, вы хотите удалить командное сообщение, в этом случае это /delmes . Вы можете использовать await ctx.message.delete() .
Источник: question-it.com
Как Discord bot может удалить сообщение через минуту?
Доброго времени суток, мне хочется удалять сообщение после его отправки через определённый промежуток времени.
По мимо этого мне не ясно, по истечению этого времени, будет удалятся последнее сообщение в канале, если так то наверно нужно указывать айди сообщения? В любом случае, я пока не нашёл ответа на свой вопрос.
Подскажите?
- Вопрос задан более двух лет назад
- 1956 просмотров
Комментировать
Решения вопроса 1
Javascript-разработчик
как вы напишете код, так он и будет выполняться, без лишней магии.
message.channel.send().then(msg => < msg.delete(< timeout: 60000 >) >)
Ответ написан более двух лет назад
Нравится 1 1 комментарий
Спасибо, про этот метод не знал
Ответы на вопрос 2
Если вы получаете сообщение из события ‘message’, то в обработчик этого события передается объект-сообщение.
У него доступен метод delete.
Функция для создания отложенной процедуры в js — setTimeout().
Если объект сообщение не доступен по какой-то причине, его, соответственно, нужно получить.
У каждой сущности Discord API есть свой уникальный ключ. У роли, юзера, и даже сообщения.
Судя по вопросу, речь идет об конкретном сообщении.
Если вы уже ранее имели в распоряжении объект message, запишите его поле id куда-то.
// channel — объект канала, snowflake — id сообщения channel.messages.fetch(snowflake) .then( message => message.delete() )
Не забудьте реализовать проверку на undefined в then и остальные кейсы.
Если сообщение ранее нигде ранее не появлялось (ни в одном обработчике событий, таких как message), тогда придется искать среди сообщений канала.
Либо динамически
Либо из кэша
Источник: qna.habr.com
Как удалить сообщения в discord?
В Discord нет возможности удалить все сообщения сразу, но существует один метод, позволяющий стереть до 100 писем за один раз. Для этого устанавливается бот Mee6, в котором имеются команды для чата в Дискорд, с помощью которых очищаются переписки.
Как удалить сообщения в Дискорде для всех?
- Зажмите shift.
- Выделите сообщение, которое хотите удалить
- Слева сверху появится всплывающее окно с иконкой удаления — просто нажмите на неё и сообщение удалится
Как удалить сообщения в ЛС в Дискорде?
Закрытие личных сообщений с пользователем
Зажмите пальцем на имени пользователя на несколько секунд. Появится меню настройки беседы, где требуется тапнуть по кнопке с тремя вертикальными точками. В контекстном меню активируйте последний пункт — «Закрыть ЛС».
Как очистить кэш Дискорда?
Чтобы очистить файлы кэша Discord на вашем ПК с Windows, вам необходимо удалить файлы вручную. В каталоге Discord AppData найдите папки «Кэш», «Кэш кода» и «GPUCache». Вы можете безопасно щелкнуть каждый из них правой кнопкой мыши, а затем нажать «Удалить».
Как быстро удалить сообщения в Дискорде?
Как написать в ЛС в Дискорде?
Как писать личные сообщения
Нажмите по никнейму пользователя правой кнопкой мыши → Написать сообщение. Нажмите по никнейму левой кнопкой: там будет поле «Отправить сообщение пользователю». Пишите туда, нажимаете Enter — сообщение отправится.
Как удалить сообщение в Дискорде у другого человека?
- Зажмите shift.
- Выделите сообщение, которое хотите удалить
- Слева сверху появится всплывающее окно с иконкой удаления — просто нажмите на неё и сообщение удалится
Как очистить журнал аудита discord?
Выберите Параметры > Аудит и журналы > Управление журналами аудита. Выберите самый старый журнал аудита. В командной строке щелкните Удалить журналы.
Как удалить все сообщения в канале Телеграм?
- Найдите в списке диалогов нужный.
- Нажмите по нему второй кнопкой мыши.
- Затем выберите пункт «Очистить историю». Очистка истории.
Как скрыть сообщение в Дискорде?
С помощью спойлер-тегов Вы можете скрывать сообщения целиком или частями. Простейший способ скрыть текст под спойлер — выделить нужный текст, кликнуть на него правой кнопкой мыши и выбрать значок в виде глаза. Это отметит выделенный кусок текста сообщения как спойлер.
Как восстановить удаленную переписку в Дискорде?
Можно ли восстановить удаленное сообщение в Discord? Часто возникают ситуации, когда важные сообщения были удалены случайно. В таком случае перед пользователями возникает вопрос о восстановлении удаленных данных. К сожалению, восстановить удаленное сообщение или переписку с другим человеком невозможно.
Как удалить свой сервер в Дискорде?
- Удаление сервера, равно как и удаление канала, весьма простой процесс. Вот как это сделать:
- Откройте настройки сервера нажав на плашку с названием сервера:
- Нажмите на ‘Удалить сервер’ в самом низу меню с левой стороны, и подтвердите удаление сервера! Бум!
Источник: fcessentuki.ru