mirror of
https://github.com/NohamR/TransmissionBot.git
synced 2025-07-08 13:07:09 +00:00
feature
* in DM, added reaction to toggle output display and then reprint the message
This commit is contained in:
parent
83d70c9d87
commit
1aa9a1d3be
61
bot.py
61
bot.py
@ -1417,14 +1417,17 @@ async def summary(message, content="", repeat_msg_key=None, msg=None):
|
|||||||
stateEmojiFilterStartNum = 4 # the first emoji in stateEmoji that corresponds to a list filter
|
stateEmojiFilterStartNum = 4 # the first emoji in stateEmoji that corresponds to a list filter
|
||||||
ignoreEmoji = ('✅')
|
ignoreEmoji = ('✅')
|
||||||
|
|
||||||
|
formatEmoji = '💻' if IsCompactOutput(message) else '📱'
|
||||||
|
|
||||||
if repeat_msg_key or msg:
|
if repeat_msg_key or msg:
|
||||||
if isDM(message):
|
if isDM(message):
|
||||||
if repeat_msg_key:
|
if repeat_msg_key:
|
||||||
stateEmoji = ('📜','🖨','❎','↕️') + torStateEmoji
|
stateEmoji = ('📜',formatEmoji,'🖨','❎','↕️') + torStateEmoji
|
||||||
summaryData[0].timestamp = datetime.datetime.now(tz=pytz.timezone('America/Denver'))
|
summaryData[0].timestamp = datetime.datetime.now(tz=pytz.timezone('America/Denver'))
|
||||||
else:
|
else:
|
||||||
stateEmoji = ('📜','🖨','🔄','↕️') + torStateEmoji
|
stateEmoji = ('📜',formatEmoji,'🖨','🔄','↕️') + torStateEmoji
|
||||||
msg = await message.channel.send(embed=summaryData[0])
|
msg = await message.channel.send(embed=summaryData[0])
|
||||||
|
stateEmojiFilterStartNum += 1
|
||||||
else:
|
else:
|
||||||
if msg:
|
if msg:
|
||||||
stateEmoji = ('📜','🖨','🔄','↕️') + torStateEmoji
|
stateEmoji = ('📜','🖨','🔄','↕️') + torStateEmoji
|
||||||
@ -1444,6 +1447,10 @@ async def summary(message, content="", repeat_msg_key=None, msg=None):
|
|||||||
REPEAT_MSGS[repeat_msg_key]['reprint'] = False
|
REPEAT_MSGS[repeat_msg_key]['reprint'] = False
|
||||||
else:
|
else:
|
||||||
await msg.edit(embed=summaryData[0])
|
await msg.edit(embed=summaryData[0])
|
||||||
|
else:
|
||||||
|
if isDM(message):
|
||||||
|
stateEmoji = ('📜',formatEmoji,'🖨','🔄','↕️') + torStateEmoji
|
||||||
|
stateEmojiFilterStartNum += 1
|
||||||
else:
|
else:
|
||||||
stateEmoji = ('📜','🖨','🔄','↕️') + torStateEmoji
|
stateEmoji = ('📜','🖨','🔄','↕️') + torStateEmoji
|
||||||
msg = await message.channel.send(embed=summaryData[0])
|
msg = await message.channel.send(embed=summaryData[0])
|
||||||
@ -1491,6 +1498,10 @@ async def summary(message, content="", repeat_msg_key=None, msg=None):
|
|||||||
await message_clear_reactions(msg, message)
|
await message_clear_reactions(msg, message)
|
||||||
await legend(message)
|
await legend(message)
|
||||||
return
|
return
|
||||||
|
elif str(r.emoji) == formatEmoji:
|
||||||
|
await toggle_compact_out(message=message)
|
||||||
|
asyncio.create_task(summary(message=message, content=content, msg=msg))
|
||||||
|
return
|
||||||
elif str(r.emoji) == '❎':
|
elif str(r.emoji) == '❎':
|
||||||
await message_clear_reactions(msg, message)
|
await message_clear_reactions(msg, message)
|
||||||
REPEAT_MSGS[repeat_msg_key]['do_repeat'] = False
|
REPEAT_MSGS[repeat_msg_key]['do_repeat'] = False
|
||||||
@ -1534,6 +1545,10 @@ async def summary(message, content="", repeat_msg_key=None, msg=None):
|
|||||||
await message_clear_reactions(msg, message)
|
await message_clear_reactions(msg, message)
|
||||||
await legend(message)
|
await legend(message)
|
||||||
return
|
return
|
||||||
|
elif str(reaction.emoji) == formatEmoji:
|
||||||
|
await toggle_compact_out(message=message)
|
||||||
|
asyncio.create_task(summary(message=message, content=content, msg=msg))
|
||||||
|
return
|
||||||
elif str(reaction.emoji) == '❎':
|
elif str(reaction.emoji) == '❎':
|
||||||
await message_clear_reactions(msg, message)
|
await message_clear_reactions(msg, message)
|
||||||
REPEAT_MSGS[repeat_msg_key]['do_repeat'] = False
|
REPEAT_MSGS[repeat_msg_key]['do_repeat'] = False
|
||||||
@ -1831,13 +1846,15 @@ async def list_transfers(message, content="", repeat_msg_key=None, msgs=None):
|
|||||||
|
|
||||||
embeds[-1].set_footer(text="📜 Legend, 🧾 Summarize, 🧰 Modify, 🖨 Reprint{}".format('\nUpdating every {}—❎ to stop'.format(humantime(REPEAT_MSGS[repeat_msg_key]['freq'],compact_output=False)) if repeat_msg_key else ', 🔄 Auto-update'))
|
embeds[-1].set_footer(text="📜 Legend, 🧾 Summarize, 🧰 Modify, 🖨 Reprint{}".format('\nUpdating every {}—❎ to stop'.format(humantime(REPEAT_MSGS[repeat_msg_key]['freq'],compact_output=False)) if repeat_msg_key else ', 🔄 Auto-update'))
|
||||||
|
|
||||||
|
formatEmoji = '💻' if IsCompactOutput(message) else '📱'
|
||||||
|
|
||||||
if repeat_msg_key or msgs:
|
if repeat_msg_key or msgs:
|
||||||
if isDM(message):
|
if isDM(message):
|
||||||
if repeat_msg_key:
|
if repeat_msg_key:
|
||||||
rxnEmoji = ['📜','🧾','🧰','🖨','❎','🔔','🔕']
|
rxnEmoji = ['📜','🧾','🧰',formatEmoji,'🖨','❎','🔔','🔕']
|
||||||
embeds[-1].timestamp = datetime.datetime.now(tz=pytz.timezone('America/Denver'))
|
embeds[-1].timestamp = datetime.datetime.now(tz=pytz.timezone('America/Denver'))
|
||||||
else:
|
else:
|
||||||
rxnEmoji = ['📜','🧾','🧰','🖨','🔄','🔔','🔕']
|
rxnEmoji = ['📜','🧾','🧰',formatEmoji,'🖨','🔄','🔔','🔕']
|
||||||
msgs = [await message.channel.send(embed=e) for e in embeds]
|
msgs = [await message.channel.send(embed=e) for e in embeds]
|
||||||
else:
|
else:
|
||||||
if msgs:
|
if msgs:
|
||||||
@ -1882,9 +1899,9 @@ async def list_transfers(message, content="", repeat_msg_key=None, msgs=None):
|
|||||||
REPEAT_MSGS[repeat_msg_key]['msgs'] = msgs
|
REPEAT_MSGS[repeat_msg_key]['msgs'] = msgs
|
||||||
else:
|
else:
|
||||||
msgs = [await message.channel.send(embed=e) for e in embeds]
|
msgs = [await message.channel.send(embed=e) for e in embeds]
|
||||||
# if isDM(message):
|
if isDM(message):
|
||||||
# rxnEmoji = ['📜','🧾','🧰','🖨','🔔','🔕']
|
rxnEmoji = ['📜','🧾','🧰',formatEmoji,'🖨','🔄','🔔','🔕']
|
||||||
# else:
|
else:
|
||||||
rxnEmoji = ['📜','🧾','🧰','🖨','🔄','🔔','🔕']
|
rxnEmoji = ['📜','🧾','🧰','🖨','🔄','🔔','🔕']
|
||||||
|
|
||||||
msg = msgs[-1]
|
msg = msgs[-1]
|
||||||
@ -1929,6 +1946,10 @@ async def list_transfers(message, content="", repeat_msg_key=None, msgs=None):
|
|||||||
await message_clear_reactions(msg, message)
|
await message_clear_reactions(msg, message)
|
||||||
asyncio.create_task(modify(message=message, content=','.join([str(t.id) for t in torrents])))
|
asyncio.create_task(modify(message=message, content=','.join([str(t.id) for t in torrents])))
|
||||||
return
|
return
|
||||||
|
elif str(reaction.emoji) == formatEmoji:
|
||||||
|
await toggle_compact_out(message=message)
|
||||||
|
return await list_transfers(message=message, content=content, msgs=msgs)
|
||||||
|
return
|
||||||
elif str(reaction.emoji) == '🖨':
|
elif str(reaction.emoji) == '🖨':
|
||||||
await message_clear_reactions(msg, message, reactions=['🖨'])
|
await message_clear_reactions(msg, message, reactions=['🖨'])
|
||||||
if repeat_msg_key:
|
if repeat_msg_key:
|
||||||
@ -2002,6 +2023,10 @@ async def list_transfers(message, content="", repeat_msg_key=None, msgs=None):
|
|||||||
await message_clear_reactions(msg, message)
|
await message_clear_reactions(msg, message)
|
||||||
asyncio.create_task(modify(message=message, content=','.join([str(t.id) for t in torrents])))
|
asyncio.create_task(modify(message=message, content=','.join([str(t.id) for t in torrents])))
|
||||||
return
|
return
|
||||||
|
elif str(reaction.emoji) == formatEmoji:
|
||||||
|
await toggle_compact_out(message=message)
|
||||||
|
return await list_transfers(message=message, content=content, msgs=msgs)
|
||||||
|
return
|
||||||
elif str(reaction.emoji) == '🖨':
|
elif str(reaction.emoji) == '🖨':
|
||||||
await message_clear_reactions(msg, message, reactions=['🖨'])
|
await message_clear_reactions(msg, message, reactions=['🖨'])
|
||||||
if repeat_msg_key:
|
if repeat_msg_key:
|
||||||
@ -2050,6 +2075,10 @@ async def list_transfers(message, content="", repeat_msg_key=None, msgs=None):
|
|||||||
if str(r.emoji) == '🖨':
|
if str(r.emoji) == '🖨':
|
||||||
REPEAT_MSGS[repeat_msg_key]['reprint'] = True
|
REPEAT_MSGS[repeat_msg_key]['reprint'] = True
|
||||||
await message_clear_reactions(msg, message, reactions=['🖨'])
|
await message_clear_reactions(msg, message, reactions=['🖨'])
|
||||||
|
elif str(r.emoji) == formatEmoji:
|
||||||
|
await toggle_compact_out(message=message)
|
||||||
|
return await list_transfers(message=message, content=content, msgs=msgs)
|
||||||
|
return
|
||||||
elif str(r.emoji) == '🧰':
|
elif str(r.emoji) == '🧰':
|
||||||
if len(torrents) > 0:
|
if len(torrents) > 0:
|
||||||
if not isDM(message) and CONFIG['delete_command_messages']:
|
if not isDM(message) and CONFIG['delete_command_messages']:
|
||||||
@ -2124,7 +2153,11 @@ async def modify(message, content=""):
|
|||||||
if not allOnly and len(torrents) == 0:
|
if not allOnly and len(torrents) == 0:
|
||||||
return
|
return
|
||||||
|
|
||||||
|
formatEmoji = '💻' if IsCompactOutput(message) else '📱'
|
||||||
|
|
||||||
opEmoji += ['🚫','📜']
|
opEmoji += ['🚫','📜']
|
||||||
|
if isDM(message):
|
||||||
|
opEmoji += [formatEmoji]
|
||||||
|
|
||||||
msg = msgs[-1]
|
msg = msgs[-1]
|
||||||
|
|
||||||
@ -2136,9 +2169,13 @@ async def modify(message, content=""):
|
|||||||
if reaction.count > 1:
|
if reaction.count > 1:
|
||||||
async for user in reaction.users():
|
async for user in reaction.users():
|
||||||
if user.id == message.author.id:
|
if user.id == message.author.id:
|
||||||
if str(reaction.emoji) == opEmoji[-1]:
|
if str(reaction.emoji) == '📜':
|
||||||
await message_clear_reactions(msg, message)
|
await message_clear_reactions(msg, message)
|
||||||
await legend(message)
|
await legend(message)
|
||||||
|
elif str(reaction.emoji) == formatEmoji:
|
||||||
|
await toggle_compact_out(message=message)
|
||||||
|
return await modify(message=message, content=content)
|
||||||
|
return
|
||||||
elif str(reaction.emoji) == '🚫':
|
elif str(reaction.emoji) == '🚫':
|
||||||
await message_clear_reactions(msg, message)
|
await message_clear_reactions(msg, message)
|
||||||
await message.channel.send("❌ Cancelled!")
|
await message.channel.send("❌ Cancelled!")
|
||||||
@ -2273,14 +2310,18 @@ async def modify(message, content=""):
|
|||||||
return user == message.author and reaction.message.id == msg.id and str(reaction.emoji) in opEmoji
|
return user == message.author and reaction.message.id == msg.id and str(reaction.emoji) in opEmoji
|
||||||
|
|
||||||
try:
|
try:
|
||||||
reaction, user = await client.wait_for('reaction_add', timeout=CONFIG['reaction_wait_timeout'], check=check)
|
reaction, user = await client.wait_for('reaction_add', timeout=60, check=check)
|
||||||
except asyncio.TimeoutError:
|
except asyncio.TimeoutError:
|
||||||
await message_clear_reactions(msg, message)
|
await message_clear_reactions(msg, message)
|
||||||
return
|
return
|
||||||
else:
|
else:
|
||||||
if str(reaction.emoji) == opEmoji[-1]:
|
if str(reaction.emoji) == '📜':
|
||||||
await message_clear_reactions(msg, message)
|
await message_clear_reactions(msg, message)
|
||||||
await legend(message)
|
await legend(message)
|
||||||
|
elif str(reaction.emoji) == formatEmoji:
|
||||||
|
await toggle_compact_out(message=message)
|
||||||
|
return await modify(message=message, content=content)
|
||||||
|
return
|
||||||
elif str(reaction.emoji) == '🚫':
|
elif str(reaction.emoji) == '🚫':
|
||||||
await message_clear_reactions(msg, message)
|
await message_clear_reactions(msg, message)
|
||||||
await message.channel.send("❌ Cancelled!")
|
await message.channel.send("❌ Cancelled!")
|
||||||
|
Loading…
x
Reference in New Issue
Block a user