Преглед изворни кода

Adding configurable delay to video preview

main
Rocketsoup пре 1 месец
родитељ
комит
dcd9f7cce0
1 измењених фајлова са 12 додато и 1 уклоњено
  1. 12
    1
      rocketbot/cogs/videopreviewcog.py

+ 12
- 1
rocketbot/cogs/videopreviewcog.py Прегледај датотеку

2
 import json
2
 import json
3
 import re
3
 import re
4
 import subprocess
4
 import subprocess
5
+from datetime import timedelta
5
 
6
 
6
 from discord import Message
7
 from discord import Message
7
 from discord.ext.commands import Cog
8
 from discord.ext.commands import Cog
53
 		brief='Video link previews',
54
 		brief='Video link previews',
54
 		description='Whether links to certain social media videos should show previews.',
55
 		description='Whether links to certain social media videos should show previews.',
55
 	)
56
 	)
57
+	SETTING_DELAY = CogSetting(
58
+		'delay',
59
+		timedelta,
60
+		default_value=3,
61
+		brief='delay before attempting to fetch a preview',
62
+		description='How long to wait after a message is posted to see if Discord successfully loads a video preview',
63
+	)
56
 	SETTING_INSTAGRAM = CogSetting(
64
 	SETTING_INSTAGRAM = CogSetting(
57
 		'instagram',
65
 		'instagram',
58
 		bool,
66
 		bool,
95
 		)
103
 		)
96
 		Self = VideoPreviewCog
104
 		Self = VideoPreviewCog
97
 		self.add_setting(Self.SETTING_ENABLED)
105
 		self.add_setting(Self.SETTING_ENABLED)
106
+		self.add_setting(Self.SETTING_DELAY)
98
 		self.add_setting(Self.SETTING_INSTAGRAM)
107
 		self.add_setting(Self.SETTING_INSTAGRAM)
99
 		self.add_setting(Self.SETTING_FACEBOOK)
108
 		self.add_setting(Self.SETTING_FACEBOOK)
100
 		self.add_setting(Self.SETTING_TWITTER)
109
 		self.add_setting(Self.SETTING_TWITTER)
139
 		return links
148
 		return links
140
 
149
 
141
 	async def _wait_for_preview(self, message: Message, links: list[MessageLink]):
150
 	async def _wait_for_preview(self, message: Message, links: list[MessageLink]):
142
-		await asyncio.sleep(3)
151
+		Self = VideoPreviewCog
152
+		delay: timedelta = self.get_guild_setting(message.guild, Self.SETTING_DELAY)
153
+		await asyncio.sleep(delay.total_seconds)
143
 		# Look for embeds already showing the video
154
 		# Look for embeds already showing the video
144
 		self.log(message.guild, "Checking message for embeds")
155
 		self.log(message.guild, "Checking message for embeds")
145
 		for embed in message.embeds:
156
 		for embed in message.embeds:

Loading…
Откажи
Сачувај