def safe_send_file(self, dest, fp, *, filename=None, comment=None, tts=False, expire_in=0, also_delete=None,
quiet=False):
final_dest = None
for servers in self.servers:
this = discord.utils.get(servers.channels, id=str(dest.id))
if this:
final_dest = this
if not final_dest:
return
try:
msg = None
msg = await self.send_file(final_dest, fp, filename=filename, content=comment, tts=tts)
self.action_dict['messages_sent'] += 1
if msg and expire_in:
asyncio.ensure_future(self._wait_delete_msg(msg, expire_in))
if also_delete and isinstance(also_delete, discord.Message):
asyncio.ensure_future(self._wait_delete_msg(also_delete, expire_in))
except discord.Forbidden:
if not quiet:
print(
"Warning: Cannot send message to %s:%s, no permission" % (
final_dest.name, final_dest.server.name))
except discord.NotFound:
if not quiet:
print("Warning: Cannot send message to %s:%s, invalid channel?" % (
final_dest.name, final_dest.server.name))
except discord.HTTPException:
if not quiet:
print("Warning: I'm being rate limited")
finally:
if msg: return msg
评论列表
文章目录