Skip to the content.

Changelog - Version 3.10 (2024-04-09)

Fixed

from asyncio import Task, create_task, sleep
from typing import List

Added

scheduled_tasks: List[Task] = []

Changed

async def send_timed_message(message, interval):
    try:
        await sleep(interval)
        if stream_online:
            channel = bot.get_channel(CHANNEL_NAME)
            await channel.send(message)
    except asyncio.CancelledError:
        pass
    await sleep(interval)

async def timed_message():
    global stream_online
    while True:
        if stream_online:
            cursor.execute('SELECT interval, message FROM timed_messages')
            messages = cursor.fetchall()
            for message, interval in messages:
                time_now = datetime.now()
                send_time = time_now + timedelta(minutes=int(interval))
                wait_time = (send_time - time_now).total_seconds()
                task = create_task(send_timed_message(message, wait_time))
                scheduled_tasks.append(task)  # Keep track of the task
        else:
            # Cancel all scheduled tasks if the stream goes offline
            for task in scheduled_tasks:
                task.cancel()
            scheduled_tasks.clear()  # Clear the list of tasks
        await sleep(300)

Removed

Thank you for your feedback and support!

As always, your feedback is appreciated. Please report any issues, bugs, or suggestions in the #ticket-info channel on our Discord server. You can also submit feedback and bug reports directly on our website: https://botofthespecter.com/feedback.php