channel stat checker added
This commit is contained in:
1 parent
63e3ec7222
commit
8b3be80d42
3 files changed
+34
-1
No files matched your search
@@ -0,0 +1,32 @@
|
||||
import aiohttp
|
||||
from discord.ext import commands, tasks
|
||||
import os
|
||||
|
||||
class StatChannel(commands.Cog):
|
||||
def __init__(self, bot):
|
||||
self.bot = bot
|
||||
self.channel_id = int(os.getenv('STRINOVA_STAT_CHANNEL_ID'))
|
||||
self.update_stat.start()
|
||||
|
||||
def cog_unload(self):
|
||||
self.update_stat.cancel()
|
||||
|
||||
@tasks.loop(minutes=10)
|
||||
async def update_stat(self):
|
||||
try:
|
||||
async with aiohttp.ClientSession() as session:
|
||||
async with session.get('https://api.steampowered.com/ISteamUserStats/GetNumberOfCurrentPlayers/v1/?appid=1282270') as r:
|
||||
data = await r.json()
|
||||
count = data['response']['player_count']
|
||||
channel = self.bot.get_channel(self.channel_id)
|
||||
if channel:
|
||||
await channel.edit(name=f'🎮 Players: {count:,}')
|
||||
except Exception as e:
|
||||
print(f'stat channel update failed: {e}')
|
||||
|
||||
@update_stat.before_loop
|
||||
async def before_update(self):
|
||||
await self.bot.wait_until_ready()
|
||||
|
||||
async def setup(bot):
|
||||
await bot.add_cog(StatChannel(bot))
|
||||
@@ -41,6 +41,7 @@ async def main():
|
||||
await bot.load_extension('cogs.copypasta')
|
||||
await bot.load_extension('cogs.sysinfo')
|
||||
await bot.load_extension('music.music')
|
||||
await bot.load_extension('cogs.statchannel')
|
||||
|
||||
try:
|
||||
await bot.start(os.getenv('DISCORD_TOKEN'))
|
||||
|
||||
@@ -102,4 +102,4 @@ class TwitterRSSForwarder:
|
||||
if resp.status not in (200, 204):
|
||||
print(f'twitter webhook post failed: {resp.status} {await resp.text()}')
|
||||
else:
|
||||
print(f'twitter rss posted: {title[:60]}...')
|
||||
print(f'twitter rss posted: {title[:60]}...')
|
||||
Reference in new issue
Block a user