add force command
This commit is contained in:
parent
b8eb2f600e
commit
5573bb2bed
@ -20,6 +20,7 @@ class WynncraftCog(commands.Cog):
|
|||||||
def __init__(self, bot):
|
def __init__(self, bot):
|
||||||
self.bot = bot
|
self.bot = bot
|
||||||
self.config = Config.get_conf(self, identifier=48775419874)
|
self.config = Config.get_conf(self, identifier=48775419874)
|
||||||
|
self.last_status = {}
|
||||||
default_guild = {
|
default_guild = {
|
||||||
"role_guild_member": 758458266195198003,
|
"role_guild_member": 758458266195198003,
|
||||||
"role_guild": {
|
"role_guild": {
|
||||||
@ -464,10 +465,13 @@ class WynncraftCog(commands.Cog):
|
|||||||
if await self.config.log():
|
if await self.config.log():
|
||||||
print(s)
|
print(s)
|
||||||
|
|
||||||
async def loop(self):
|
@commands.command()
|
||||||
await self.bot.wait_until_ready()
|
@checks.admin_or_permissions(manage_guild=True)
|
||||||
last_status = {}
|
async def force(self, ctx):
|
||||||
while self is self.bot.get_cog("WynncraftCog"):
|
await self.do_loop()
|
||||||
|
await ctx.send("OK!")
|
||||||
|
|
||||||
|
async def do_loop(self):
|
||||||
await self._log("Looping guilds")
|
await self._log("Looping guilds")
|
||||||
for guild in self.bot.guilds:
|
for guild in self.bot.guilds:
|
||||||
roles_combat_level = await self.config.guild(guild).role_levels()
|
roles_combat_level = await self.config.guild(guild).role_levels()
|
||||||
@ -498,25 +502,25 @@ class WynncraftCog(commands.Cog):
|
|||||||
await self._log("%s had empty data %s" % (member_name, r["data"]))
|
await self._log("%s had empty data %s" % (member_name, r["data"]))
|
||||||
continue
|
continue
|
||||||
for cl in r["data"][0]["classes"]:
|
for cl in r["data"][0]["classes"]:
|
||||||
if guild_id not in last_status:
|
if guild_id not in self.last_status:
|
||||||
last_status[guild_id] = {}
|
self.last_status[guild_id] = {}
|
||||||
|
|
||||||
if member_name not in last_status[guild_id]:
|
if member_name not in self.last_status[guild_id]:
|
||||||
last_status[guild_id][member_name] = {}
|
self.last_status[guild_id][member_name] = {}
|
||||||
|
|
||||||
if cl["name"] not in last_status[guild_id][member_name]:
|
if cl["name"] not in self.last_status[guild_id][member_name]:
|
||||||
last_status[guild_id][member_name][cl["name"]] = cl
|
self.last_status[guild_id][member_name][cl["name"]] = cl
|
||||||
|
|
||||||
# ping level up
|
# ping level up
|
||||||
ping_channel_id = await self.config.guild(guild).ping_channel()
|
ping_channel_id = await self.config.guild(guild).ping_channel()
|
||||||
if await self.config.guild(guild).ping_levels() and ping_channel_id:
|
if await self.config.guild(guild).ping_levels() and ping_channel_id:
|
||||||
await self._log("Checking for level up")
|
await self._log("Checking for level up")
|
||||||
if cl["professions"]["combat"]["level"] > last_status[guild_id][member_name][cl["name"]]["professions"]["combat"]["level"]:
|
if cl["professions"]["combat"]["level"] > self.last_status[guild_id][member_name][cl["name"]]["professions"]["combat"]["level"]:
|
||||||
ping_channel = self.bot.get_channel(ping_channel_id)
|
ping_channel = self.bot.get_channel(ping_channel_id)
|
||||||
await ping_channel.send(":high_brightness: %s a level up au niveau %s! GG!" % (member_name, cl["professions"]["combat"]["level"]))
|
await ping_channel.send(":high_brightness: %s a level up au niveau %s! GG!" % (member_name, cl["professions"]["combat"]["level"]))
|
||||||
else:
|
else:
|
||||||
await self._log("Player %s had last level %s and current %s" % (member_name, last_status[guild_id][member_name][cl["name"]]["professions"]["combat"]["level"], cl["professions"]["combat"]["level"]))
|
await self._log("Player %s had last level %s and current %s" % (member_name, self.last_status[guild_id][member_name][cl["name"]]["professions"]["combat"]["level"], cl["professions"]["combat"]["level"]))
|
||||||
last_status[guild_id][member_name][cl["name"]] = cl
|
self.last_status[guild_id][member_name][cl["name"]] = cl
|
||||||
|
|
||||||
# get max_combat_lvl_class
|
# get max_combat_lvl_class
|
||||||
if not max_combat_lvl_class or cl["professions"]["combat"]["level"] > max_combat_lvl_class["professions"]["combat"]["level"]:
|
if not max_combat_lvl_class or cl["professions"]["combat"]["level"] > max_combat_lvl_class["professions"]["combat"]["level"]:
|
||||||
@ -664,4 +668,9 @@ class WynncraftCog(commands.Cog):
|
|||||||
except:
|
except:
|
||||||
if await self.config.log():
|
if await self.config.log():
|
||||||
traceback.print_exc()
|
traceback.print_exc()
|
||||||
|
|
||||||
|
async def loop(self):
|
||||||
|
await self.bot.wait_until_ready()
|
||||||
|
while self is self.bot.get_cog("WynncraftCog"):
|
||||||
|
await self.do_loop()
|
||||||
await asyncio.sleep(3600)
|
await asyncio.sleep(3600)
|
||||||
|
Loading…
Reference in New Issue
Block a user