Remove fetch_message
, channel history is just better
This commit is contained in:
parent
c603e4b326
commit
ce41c80c3b
29
fifo/task.py
29
fifo/task.py
@ -1,6 +1,6 @@
|
||||
import logging
|
||||
from datetime import datetime, timedelta
|
||||
from typing import Dict, List, Union
|
||||
from typing import Dict, List, Optional, Union
|
||||
|
||||
import discord
|
||||
from apscheduler.triggers.base import BaseTrigger
|
||||
@ -269,20 +269,23 @@ class Task:
|
||||
)
|
||||
return False
|
||||
|
||||
actual_message: discord.Message = channel.last_message
|
||||
actual_message: Optional[discord.Message] = channel.last_message
|
||||
# I'd like to present you my chain of increasingly desperate message fetching attempts
|
||||
if actual_message is None:
|
||||
# log.warning("No message found in channel cache yet, skipping execution")
|
||||
# return
|
||||
actual_message = await channel.fetch_message(channel.last_message_id)
|
||||
if actual_message is None: # last_message_id was an invalid message I guess
|
||||
actual_message = await channel.history(limit=1).flatten()
|
||||
if not actual_message: # Basically only happens if the channel has no messages
|
||||
actual_message = await author.history(limit=1).flatten()
|
||||
if not actual_message: # Okay, the *author* has never sent a message?
|
||||
log.warning("No message found in channel cache yet, skipping execution")
|
||||
return False
|
||||
actual_message = actual_message[0]
|
||||
# Skip this one, never goes well
|
||||
# try:
|
||||
# actual_message = await channel.fetch_message(channel.last_message_id)
|
||||
# except discord.NotFound:
|
||||
# actual_message = None
|
||||
# if actual_message is None: # last_message_id was an invalid message I guess
|
||||
|
||||
actual_message = await channel.history(limit=1).flatten()
|
||||
if not actual_message: # Basically only happens if the channel has no messages
|
||||
actual_message = await author.history(limit=1).flatten()
|
||||
if not actual_message: # Okay, the *author* has never sent a message?
|
||||
log.warning("No message found in channel cache yet, skipping execution")
|
||||
return False
|
||||
actual_message = actual_message[0]
|
||||
|
||||
message = FakeMessage(actual_message)
|
||||
# message = FakeMessage2
|
||||
|
Loading…
x
Reference in New Issue
Block a user