Компьютер: MacOS w / Python 3.7 и установленный пакет Discord
Сервер: CentOS 6 с Python 3.6 и установленным пакетом Discord
Я думаю, что код может быть плохим или может быть оптимизирован для устранения проблемы.
class MyClient(discord.Client):
async def on_ready(self):
print('Logged on as {0}!'.format(self.user))
print(self.user.id)
print('------')
# loops through connected servers and assigns increments server count variable
server_count = 0
quote_count = 0
for guild in client.guilds:
server_count += 1
print("The server count is {}".format(server_count))
for quote in quotes:
quote_count += 1
print("There number of quotes available is: " + str(quote_count))
print('------')
while not client.is_closed():
now = datetime.strftime(datetime.now(), '%H:%M')
iter_count = 0
print("current time is: " + now)
if now == wakeup_time: # enter for-loop at specific time
for guild in client.guilds:
for channel in guild.channels:
if str(channel) == 'chat':
await channel.send('Good Morning/Afternoon/Good Night. Here is today\'s random quote:')
await channel.send('```' + str(random.choice(quotes)).strip('[]') + '```')
print("{} Server Greeted.").format(guild.name)
iter_count += 1
if iter_count == server_count:
await asyncio.sleep(7200) # puts loop on hold for 1 hour
else:
await asyncio.sleep(10)
То, что он делает локально: Однократная публикация на канал #chat на каждом сервере разногласий, а затем отключение функции в течение 2 часов , Бот подключен к четырем дисконтным серверам. (это то, что я хочу, чтобы он делал).
Что он делает на сервере CentOS Linux: отправка на канал #chat только одного из серверов 5 раз, а затем Отключение функции в течение двух часов.
Вопрос: есть ли лучший способ оптимизировать код до l oop через серверы и публиковать сообщения в каналах чата один раз в утро?