Initial commit
This commit is contained in:
28
README.md
Normal file
28
README.md
Normal file
@@ -0,0 +1,28 @@
|
|||||||
|
# StatusRotator
|
||||||
|
|
||||||
|
Cog for Red-DiscordBot that rotates the bot's playing status in a simple timed loop.
|
||||||
|
|
||||||
|
## What it does
|
||||||
|
|
||||||
|
- Sets the bot activity to:
|
||||||
|
- `❓ Prefix: .help` for 60 seconds
|
||||||
|
- Then changes it to:
|
||||||
|
- `💻 I support 100+ commands` for 30 seconds
|
||||||
|
- Repeats this cycle forever in a loop
|
||||||
|
- Uses only `Playing` activity for both statuses
|
||||||
|
|
||||||
|
## Rotation order
|
||||||
|
|
||||||
|
The status loop works like this:
|
||||||
|
|
||||||
|
1. `❓ Prefix: .help` for 60 seconds
|
||||||
|
2. `💻 I support 100+ commands` for 30 seconds
|
||||||
|
3. Repeat from the beginning
|
||||||
|
|
||||||
|
## Installation
|
||||||
|
|
||||||
|
1. Put this cog folder in your custom cogs path.
|
||||||
|
2. In Discord:
|
||||||
|
|
||||||
|
```text
|
||||||
|
[p]load statusrotator
|
||||||
5
__init__.py
Normal file
5
__init__.py
Normal file
@@ -0,0 +1,5 @@
|
|||||||
|
from .statusrotator import StatusRotator
|
||||||
|
|
||||||
|
|
||||||
|
async def setup(bot):
|
||||||
|
await bot.add_cog(StatusRotator(bot))
|
||||||
36
statusrotator.py
Normal file
36
statusrotator.py
Normal file
@@ -0,0 +1,36 @@
|
|||||||
|
import asyncio
|
||||||
|
import contextlib
|
||||||
|
|
||||||
|
import discord
|
||||||
|
from redbot.core import commands
|
||||||
|
|
||||||
|
|
||||||
|
class StatusRotator(commands.Cog):
|
||||||
|
"""Bot status rotation."""
|
||||||
|
|
||||||
|
def __init__(self, bot):
|
||||||
|
self.bot = bot
|
||||||
|
self._task = None
|
||||||
|
|
||||||
|
async def cog_load(self):
|
||||||
|
self._task = asyncio.create_task(self.status_loop())
|
||||||
|
|
||||||
|
async def cog_unload(self):
|
||||||
|
if self._task:
|
||||||
|
self._task.cancel()
|
||||||
|
with contextlib.suppress(asyncio.CancelledError):
|
||||||
|
await self._task
|
||||||
|
|
||||||
|
async def status_loop(self):
|
||||||
|
await self.bot.wait_until_ready()
|
||||||
|
|
||||||
|
while not self.bot.is_closed():
|
||||||
|
await self.bot.change_presence(
|
||||||
|
activity=discord.Game(name="❓ Prefix: .help")
|
||||||
|
)
|
||||||
|
await asyncio.sleep(60)
|
||||||
|
|
||||||
|
await self.bot.change_presence(
|
||||||
|
activity=discord.Game(name="💻 I support 100+ commands")
|
||||||
|
)
|
||||||
|
await asyncio.sleep(30)
|
||||||
Reference in New Issue
Block a user