discord-apiチャネルからすべてのメッセージを取得する

ジョナス:

(discord4j 3.1.0)したがって、(Guild)MessageChannelからすべてのメッセージを取得したいのですが、私が知る限り、それを行う簡単な方法はありません(つまり、channel.getMessages()がないということです)。 .block()または何か)。私がしばらくの間代替として使用していたのは、チャネルの最後のメッセージを取得してから、その前にすべてのメッセージを取得するメソッドです。

public static List<Message> getMessagesOfChannel(MessageChannel channel){
        try {
            //get the last message
            Message tempMessage = channel.getLastMessage().block();
            //get all messages before the last message and then add the last message to it
            List<Message> messages = channel.getMessagesBefore(tempMessage.getId()).collectList().block();

            return messages;
        }catch(ClientException | NullPointerException e){
            //if there was no last message then the channel is empty so return an empty list
            return new ArrayList<>();
        }

    }

そして、今日まではうまくいきました... MessageDeleteEvent内でこのメソッドを呼び出すと問題が発生するためです。上記の削除されたメソッドがチャネルの最後のメソッドである場合。メッセージが削除されたとしても、channel.getLastMessage()およびchannel.getLastMessageId()はどちらも削除されたメソッドを参照します。(その場合、最初のメソッドは例外をスローし、2番目のメソッドは役に立たない。なぜなら、それはmessageIdを返すが、実際のメッセージを取得しようとするすべてのメソッドも例外をスローするためです)。チャネルで独自のメッセージを作成してから、channel.getMessagesBefore(message)を呼び出しましたが、プログラムでgetMessagesOfChannel()メソッドが頻繁に呼び出されるため、discord :(で通知が完全に満たされます。そうではない)チャネルのすべてのメッセージを何らかの方法で取得する方法

Minn:

Snowflake.of(Instant.now())すべてのメッセージを取得するために使用できます。

public static List<Message> getMessagesOfChannel(MessageChannel channel){
    Snowflake now = Snowflake.of(Instant.now());
    return channel.getMessagesBefore(now).collectList().block();
}

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

分類Dev

チャネル上のすべてのメッセージを取得してhastebinに投稿するにはどうすればよいですか?discord.js

分類Dev

Discord.jsは、チャネル内のすべてのメッセージの配列を取得します

分類Dev

Discordの特定のチャンネルからすべてのメンバーを取得する

分類Dev

discord.jsテキストチャネル内のすべてのメッセージを削除する

分類Dev

すべてのチャネルにメッセージを送信する— Discord.py

分類Dev

Discord.py:チャンネル履歴を調べて特定のメッセージを検索する方法は?

分類Dev

discord.jsを使用してテキストチャネルから最後のメッセージを取得する

分類Dev

discord.pyのテキストチャネルからすべてのメッセージの配列を取得するにはどうすればよいですか?

分類Dev

Discord Botにチャンネル内のすべてのメッセージを削除させるにはどうすればよいですか?

分類Dev

メッセージからすべての添付ファイルを取得するDiscord.JS

分類Dev

Discord.jsが特定のチャネルにメッセージを送信する

分類Dev

チャネルを指定するメッセージの送信/ Python Discord

分類Dev

discord.jsが特定のチャネルにメッセージを送信する

分類Dev

Discord.js特定のチャネルにメッセージを送信する

分類Dev

ユーザーからのメッセージなしで Discord チャンネルにメッセージを送信する

分類Dev

discord.pyを使用して、特定のサーバーチャネル内のすべてのメッセージをチェックするボットを作成するにはどうすればよいですか?

分類Dev

discord.jsを使用して最初のチャネルにメッセージを送信する

分類Dev

discord.ioを使用して特定のチャネルにメッセージを送信する

分類Dev

discord.pyを使用して特定のチャネルにメッセージを送信する

分類Dev

Discord Py、IDを介して任意のチャネルでメッセージを送信する

分類Dev

discord.pyで、作成したばかりのチャンネルでメッセージを送信する方法は?

分類Dev

メッセージを送信する特定のチャネル名を検索するDiscord.js(ログ)

分類Dev

(Discord.js)チャンネル名に基づいてチャンネルIDを取得し、メッセージを投稿しようとしています

分類Dev

特定のギルドの特定のチャンネルでメッセージを編集する| Discord.js

分類Dev

Discord-PythonアプリからDiscordチャネルにのみメッセージを送信します(一方向通信)

分類Dev

python Discord.pyは、テキストチャネル内のすべてのメッセージを削除します

分類Dev

左の音声チャンネルをチェックし、そのチャンネルからメッセージを消去するDiscordボットの作り方

分類Dev

Discord.py-特定のチャネルにメッセージを送受信する方法は?

分類Dev

Discordボットが特定のチャネルで送信した以前のメッセージを削除するにはどうすればよいですか?

Related 関連記事

  1. 1

    チャネル上のすべてのメッセージを取得してhastebinに投稿するにはどうすればよいですか?discord.js

  2. 2

    Discord.jsは、チャネル内のすべてのメッセージの配列を取得します

  3. 3

    Discordの特定のチャンネルからすべてのメンバーを取得する

  4. 4

    discord.jsテキストチャネル内のすべてのメッセージを削除する

  5. 5

    すべてのチャネルにメッセージを送信する— Discord.py

  6. 6

    Discord.py:チャンネル履歴を調べて特定のメッセージを検索する方法は?

  7. 7

    discord.jsを使用してテキストチャネルから最後のメッセージを取得する

  8. 8

    discord.pyのテキストチャネルからすべてのメッセージの配列を取得するにはどうすればよいですか?

  9. 9

    Discord Botにチャンネル内のすべてのメッセージを削除させるにはどうすればよいですか?

  10. 10

    メッセージからすべての添付ファイルを取得するDiscord.JS

  11. 11

    Discord.jsが特定のチャネルにメッセージを送信する

  12. 12

    チャネルを指定するメッセージの送信/ Python Discord

  13. 13

    discord.jsが特定のチャネルにメッセージを送信する

  14. 14

    Discord.js特定のチャネルにメッセージを送信する

  15. 15

    ユーザーからのメッセージなしで Discord チャンネルにメッセージを送信する

  16. 16

    discord.pyを使用して、特定のサーバーチャネル内のすべてのメッセージをチェックするボットを作成するにはどうすればよいですか?

  17. 17

    discord.jsを使用して最初のチャネルにメッセージを送信する

  18. 18

    discord.ioを使用して特定のチャネルにメッセージを送信する

  19. 19

    discord.pyを使用して特定のチャネルにメッセージを送信する

  20. 20

    Discord Py、IDを介して任意のチャネルでメッセージを送信する

  21. 21

    discord.pyで、作成したばかりのチャンネルでメッセージを送信する方法は?

  22. 22

    メッセージを送信する特定のチャネル名を検索するDiscord.js(ログ)

  23. 23

    (Discord.js)チャンネル名に基づいてチャンネルIDを取得し、メッセージを投稿しようとしています

  24. 24

    特定のギルドの特定のチャンネルでメッセージを編集する| Discord.js

  25. 25

    Discord-PythonアプリからDiscordチャネルにのみメッセージを送信します(一方向通信)

  26. 26

    python Discord.pyは、テキストチャネル内のすべてのメッセージを削除します

  27. 27

    左の音声チャンネルをチェックし、そのチャンネルからメッセージを消去するDiscordボットの作り方

  28. 28

    Discord.py-特定のチャネルにメッセージを送受信する方法は?

  29. 29

    Discordボットが特定のチャネルで送信した以前のメッセージを削除するにはどうすればよいですか?

ホットタグ

アーカイブ