mirror of
https://github.com/Floriansylvain/Risitas_BOT.git
synced 2026-08-19 11:43:16 +02:00
🎨 - Massive code cleaning
This commit is contained in:
+16
-14
@@ -1,6 +1,6 @@
|
||||
import matplotlib.pyplot as plt
|
||||
from osuapi import OsuApi, ReqConnector
|
||||
from private import TOKEN_OSU
|
||||
import matplotlib.pyplot as plt
|
||||
|
||||
api = OsuApi(TOKEN_OSU, connector=ReqConnector())
|
||||
|
||||
@@ -8,23 +8,23 @@ async def ask_osu_profile(username):
|
||||
results = api.get_user(username)
|
||||
if not results:
|
||||
return 1
|
||||
r = results[0]
|
||||
return [r.user_id, r.ranked_score, r.accuracy, r.playcount,
|
||||
r.total_score, (r.count300 + r.count100 + r.count50),
|
||||
r.total_seconds_played, r.level, r.pp_rank]
|
||||
res = results[0]
|
||||
return [res.user_id, res.ranked_score, res.accuracy, res.playcount,
|
||||
res.total_score, (res.count300 + res.count100 + res.count50),
|
||||
res.total_seconds_played, res.level, res.pp_rank]
|
||||
|
||||
|
||||
async def ask_osu_last_game(username):
|
||||
last_game = api.get_user_recent(username)
|
||||
if not last_game:
|
||||
return 1
|
||||
lg = last_game[0]
|
||||
lm = api.get_beatmaps(beatmap_id=lg.beatmap_id)[0]
|
||||
return [lm.beatmapset_id, lm.title, lm.creator,
|
||||
lm.bpm, lm.difficultyrating, lm.diff_size, lm.diff_overall,
|
||||
lm.diff_approach, lm.diff_drain, lg.score,
|
||||
lg.maxcombo, lg.rank, lg.count300, lg.count100,
|
||||
lg.count50, lg.countmiss, lg.countkatu, lg.countgeki]
|
||||
lsg = last_game[0]
|
||||
lsm = api.get_beatmaps(beatmap_id=lsg.beatmap_id)[0]
|
||||
return [lsm.beatmapset_id, lsm.title, lsm.creator,
|
||||
lsm.bpm, lsm.difficultyrating, lsm.diff_size, lsm.diff_overall,
|
||||
lsm.diff_approach, lsm.diff_drain, lsg.score,
|
||||
lsg.maxcombo, lsg.rank, lsg.count300, lsg.count100,
|
||||
lsg.count50, lsg.countmiss, lsg.countkatu, lsg.countgeki]
|
||||
|
||||
|
||||
async def ask_osu_acc(username):
|
||||
@@ -35,7 +35,8 @@ async def ask_osu_acc(username):
|
||||
lst = []
|
||||
for game in last_game:
|
||||
total = game.count300 + game.count100 + game.count50 + game.countmiss
|
||||
lst.append((float("%.2f" %(((game.count300 * 300) + (game.count100 * 100) + (game.count50 * 50)) / (total * 300) * 100))))
|
||||
lst.append((float("%.2f" % (((game.count300 * 300) + (game.count100 * 100) +
|
||||
(game.count50 * 50)) / (total * 300) * 100))))
|
||||
|
||||
nb_games = len(lst)+1
|
||||
min_games = int(min(lst))
|
||||
@@ -51,7 +52,8 @@ async def ask_osu_acc(username):
|
||||
plt.yticks(range(min_games, 100, 3))
|
||||
|
||||
plt.grid(linewidth=0.5)
|
||||
plt.title('Accuracy of ' + username + ' on his last ' + str(nb_games-1) + ' games.', fontsize=20)
|
||||
plt.title('Accuracy of ' + username + ' on his last ' +
|
||||
str(nb_games-1) + ' games.', fontsize=20)
|
||||
plt.ylabel('Accuracy (%)')
|
||||
plt.xlabel('Games (from recent to oldest)')
|
||||
|
||||
|
||||
+14
-11
@@ -1,10 +1,11 @@
|
||||
from datetime import datetime, timedelta
|
||||
from riotwatcher import LolWatcher, ApiError
|
||||
from private import TOKEN_RIOT
|
||||
from datetime import datetime, timedelta
|
||||
|
||||
WATCHER = LolWatcher(TOKEN_RIOT)
|
||||
REGION = 'EUW1'
|
||||
|
||||
|
||||
def what_player(name):
|
||||
try:
|
||||
return WATCHER.summoner.by_name(REGION, name)
|
||||
@@ -22,7 +23,8 @@ def rank_track(player):
|
||||
what_rank = 'Solo Queue'
|
||||
elif infos['queueType'] == 'RANKED_FLEX_SR':
|
||||
what_rank = 'Flexible'
|
||||
liste.append([what_rank, infos['tier'], infos['rank'], infos['leaguePoints'], infos['wins'], infos['losses']])
|
||||
liste.append([what_rank, infos['tier'], infos['rank'],
|
||||
infos['leaguePoints'], infos['wins'], infos['losses']])
|
||||
return liste
|
||||
|
||||
|
||||
@@ -31,12 +33,13 @@ def last_match(player):
|
||||
recent_match = matches['matches'][0]
|
||||
match_detail = WATCHER.match.by_id('EUW1', recent_match['gameId'])
|
||||
lst = [[], [[], [], [], []]]
|
||||
for x, y in zip(match_detail['participants'], match_detail['participantIdentities']):
|
||||
lst[0].append([y['player']['summonerName'],
|
||||
x['stats']['totalDamageDealtToChampions'],
|
||||
x['stats']['kills'],
|
||||
x['stats']['deaths'],
|
||||
x['stats']['assists']])
|
||||
for participants, details in zip(match_detail['participants'],
|
||||
match_detail['participantIdentities']):
|
||||
lst[0].append([details['player']['summonerName'],
|
||||
participants['stats']['totalDamageDealtToChampions'],
|
||||
participants['stats']['kills'],
|
||||
participants['stats']['deaths'],
|
||||
participants['stats']['assists']])
|
||||
|
||||
for team in match_detail['teams']:
|
||||
lst[1][0].append(team['win'])
|
||||
@@ -44,10 +47,10 @@ def last_match(player):
|
||||
lst[1][2].append(team['firstTower'])
|
||||
lst[1][3].append(team['firstDragon'])
|
||||
|
||||
ts = str(match_detail['gameCreation'])[:-3]
|
||||
dt = datetime.fromtimestamp(int(ts)).date()
|
||||
time_stamp = str(match_detail['gameCreation'])[:-3]
|
||||
date_time = datetime.fromtimestamp(int(time_stamp)).date()
|
||||
|
||||
lst.append(str(dt))
|
||||
lst.append(str(date_time))
|
||||
lst.append(str(timedelta(seconds=match_detail['gameDuration'])))
|
||||
|
||||
return lst
|
||||
|
||||
+15
-16
@@ -1,11 +1,10 @@
|
||||
import discord
|
||||
import asyncio
|
||||
from discord.ext import commands
|
||||
from discord.ext.commands.cooldowns import BucketType
|
||||
from api_riot import rank_track, what_player, last_match
|
||||
|
||||
CD_LOLRANK = 0
|
||||
|
||||
|
||||
class LolCmds(commands.Cog, name='League of Legend commands'):
|
||||
def __init__(self, bot):
|
||||
self.bot = bot
|
||||
@@ -17,38 +16,38 @@ class LolCmds(commands.Cog, name='League of Legend commands'):
|
||||
if player != 0:
|
||||
ranks = rank_track(player)
|
||||
embed = discord.Embed(title=invocator_name, url='https://bit.ly/3biTekM')
|
||||
embed.set_thumbnail(url='http://ddragon.leagueoflegends.com/cdn/11.2.1/img/profileicon/' + str(
|
||||
player['profileIconId']) + '.png')
|
||||
embed.set_thumbnail(url='http://ddragon.leagueoflegends.com/cdn/11.2.1/img/profileicon/' +
|
||||
str(player['profileIconId']) + '.png')
|
||||
embed.set_author(name='League Of Legend - Rank', url='https://euw.leagueoflegends.com/en-gb/',
|
||||
icon_url='https://static.wikia.nocookie.net/leagueoflegends/images/0/07/' +
|
||||
'League_of_Legends_icon.png/revision/latest?cb=20191018194326')
|
||||
if isinstance(ranks, list):
|
||||
for rank_s in ranks:
|
||||
embed.add_field(name=rank_s[0], value=str(rank_s[1]) + ' ' + str(rank_s[2]) + ' ' + str(
|
||||
rank_s[3]) + ' LP' + '\n' + str(rank_s[4]) + 'W/' + str(rank_s[5]) + 'L', inline=False)
|
||||
embed.add_field(name=rank_s[0], value=str(rank_s[1]) + ' ' +
|
||||
str(rank_s[2]) + ' ' + str(rank_s[3]) + ' LP\n' +
|
||||
str(rank_s[4]) + 'W/' + str(rank_s[5]) +
|
||||
'L', inline=False)
|
||||
else:
|
||||
embed.description = ranks
|
||||
await ctx.send(embed=embed)
|
||||
else:
|
||||
await ctx.send('The username you entered is unknown.')
|
||||
|
||||
|
||||
@commands.command(ignore_extra=False)
|
||||
@commands.cooldown(1, 2, commands.BucketType.user)
|
||||
async def lol_lastgame(self, ctx, invocator_name):
|
||||
player = what_player(invocator_name)
|
||||
if player != 0:
|
||||
lst = last_match(player)
|
||||
lst_p = lst[0]
|
||||
maximum = lst_p[0][1]
|
||||
for stat in lst_p:
|
||||
maximum = lst[0][0][1]
|
||||
for stat in lst[0]:
|
||||
if stat[1] > maximum:
|
||||
maximum = stat[1]
|
||||
tab, players, kda = [], [], []
|
||||
for stat in lst_p:
|
||||
for stat in lst[0]:
|
||||
pourcent = round(100*stat[1]/maximum)
|
||||
equals = int(round(float(pourcent)/3.3))
|
||||
hyphen = 30 - equals
|
||||
tab.append('[' + '='*equals + ' '*hyphen +']\n')
|
||||
tab.append('[' + '=' * equals + ' ' * (30 - equals) + ']\n')
|
||||
players.append(stat[0][:15] + '\n')
|
||||
kda.append(str(stat[2]) + '/' + str(stat[3]) + '/' + str(stat[4]) + '\n')
|
||||
embed = discord.Embed(title=invocator_name, url='https://bit.ly/3biTekM',
|
||||
@@ -58,9 +57,9 @@ class LolCmds(commands.Cog, name='League of Legend commands'):
|
||||
'League_of_Legends_icon.png/revision/latest?cb=20191018194326')
|
||||
await ctx.send(embed=embed)
|
||||
for i in range(0, -2, -1):
|
||||
embed = discord.Embed(title='Team 1' if not i else 'Team 2', colour=
|
||||
discord.Colour.green() if lst[1][0][i] == 'Win' else discord.Colour.red(), description=
|
||||
(':drop_of_blood: First blood\n' if len(lst[1][1]) != 0 and lst[1][1][i] else '') +
|
||||
embed = discord.Embed(title='Team 1' if not i else 'Team 2',
|
||||
colour=discord.Colour.green() if lst[1][0][i] == 'Win' else discord.Colour.red(),
|
||||
description=(':drop_of_blood: First blood\n' if len(lst[1][1]) != 0 and lst[1][1][i] else '') +
|
||||
(':tokyo_tower: First tower\n' if len(lst[1][2]) != 0 and lst[1][2][i] else '') +
|
||||
(':dragon_face: First dragon\n' if len(lst[1][3]) != 0 and lst[1][3][i] else ''))
|
||||
embed.add_field(name='Players',
|
||||
|
||||
+13
-10
@@ -1,7 +1,8 @@
|
||||
import discord
|
||||
import asyncio
|
||||
from discord.ext import commands
|
||||
from api_osu import *
|
||||
from api_osu import (ask_osu_profile,
|
||||
ask_osu_last_game,
|
||||
ask_osu_acc)
|
||||
|
||||
|
||||
class OsuCmds(commands.Cog, name='Osu! commands'):
|
||||
@@ -19,8 +20,8 @@ class OsuCmds(commands.Cog, name='Osu! commands'):
|
||||
icon_url=r'https://upload.wikimedia.org/wikipedia/commons/4/44/Osu%21Logo_%282019%29.png')
|
||||
embed.set_thumbnail(url='https://a.ppy.sh/' + str(lst[0]))
|
||||
embed.add_field(name='Global Ranking', value='#'+str('{:,}'.format(lst[8])))
|
||||
embed.add_field(name='Total Play Time', value=
|
||||
str("%.0f" % ((lst[6] % (86400 * 30)) / 86400))+'d '+
|
||||
embed.add_field(name='Total Play Time',
|
||||
value=str("%.0f" % ((lst[6] % (86400 * 30)) / 86400)) + 'd ' +
|
||||
str("%.0f" % ((lst[6] % 86400) / 3600)) + 'h ' +
|
||||
str("%.0f" % ((lst[6] % 3600) / 60)) + 'm ')
|
||||
embed.add_field(name='|', value='|')
|
||||
@@ -32,15 +33,16 @@ class OsuCmds(commands.Cog, name='Osu! commands'):
|
||||
embed.add_field(name='Total Hits', value=str('{:,}'.format(lst[5])))
|
||||
await ctx.send(embed=embed)
|
||||
|
||||
|
||||
@commands.command(ignore_extra=False)
|
||||
async def osu_lastgame(self, ctx, username):
|
||||
lst = await ask_osu_last_game(username)
|
||||
if lst == 1:
|
||||
await ctx.send('The player you entered is unknown or didn\'t played any game recently.')
|
||||
else:
|
||||
embed = discord.Embed(title=str(lst[1]) + ' by ' + str(lst[2]), url='https://osu.ppy.sh/beatmapsets/' + str(lst[0]),
|
||||
description='BPM: ' + str("%.0f" % lst[3]) + ' ; Stars: ' + str("%.1f" % lst[4]) +
|
||||
embed = discord.Embed(title=str(lst[1]) + ' by ' + str(lst[2]),
|
||||
url='https://osu.ppy.sh/beatmapsets/' + str(lst[0]),
|
||||
description='BPM: ' + str("%.0f" % lst[3]) +
|
||||
' ; Stars: ' + str("%.1f" % lst[4]) +
|
||||
' ; CS: ' + str(lst[5]) + ' ; AR: ' + str(lst[7]) +
|
||||
' ; OD: ' + str(lst[6]) + ' ; HP: ' + str(lst[8]))
|
||||
embed.set_author(name='Osu! - Last game', url='https://osu.ppy.sh/home',
|
||||
@@ -52,7 +54,8 @@ class OsuCmds(commands.Cog, name='Osu! commands'):
|
||||
embed.add_field(name='300', value=str(lst[12]))
|
||||
embed.add_field(name='Geki', value=str(lst[17]))
|
||||
embed.add_field(name='Accuracy',
|
||||
value=str("%.2f" % (((lst[12]*300)+(lst[13]*100)+(lst[14]*50))/(sum(lst[12:16])*300)*100) + '%'))
|
||||
value=str("%.2f" % (((lst[12]*300) + (lst[13]*100) + (lst[14]*50)) /
|
||||
(sum(lst[12:16]) * 300) * 100) + '%'))
|
||||
embed.add_field(name='100', value=str(lst[13]))
|
||||
embed.add_field(name='Katu', value=str(lst[16]))
|
||||
embed.add_field(name='Player :', value=str(username))
|
||||
@@ -61,13 +64,13 @@ class OsuCmds(commands.Cog, name='Osu! commands'):
|
||||
embed.add_field(name='|', value='|')
|
||||
await ctx.send(embed=embed)
|
||||
|
||||
|
||||
@commands.command(ignore_extra=False)
|
||||
async def osu_acc(self, ctx, username):
|
||||
test_acc = await ask_osu_acc(username)
|
||||
if test_acc:
|
||||
embed = discord.Embed()
|
||||
embed.set_author(name='Osu! - Accuracy', icon_url=r'https://upload.wikimedia.org/wikipedia/commons/4/44/Osu%21Logo_%282019%29.png')
|
||||
embed.set_author(name='Osu! - Accuracy',
|
||||
icon_url=r'https://upload.wikimedia.org/wikipedia/commons/4/44/Osu%21Logo_%282019%29.png')
|
||||
embed.set_image(url="attachment://acc.jpeg")
|
||||
await ctx.send(embed=embed, file=discord.File('acc.jpeg'))
|
||||
else:
|
||||
|
||||
@@ -1,7 +1,6 @@
|
||||
import discord
|
||||
import asyncio
|
||||
import discord
|
||||
from discord.ext import commands
|
||||
from discord.ext.commands.cooldowns import BucketType
|
||||
|
||||
|
||||
class OtherCmds(commands.Cog, name='Other commands'):
|
||||
|
||||
@@ -1,9 +1,8 @@
|
||||
from discord.ext import commands
|
||||
from datetime import datetime
|
||||
from __main__ import startup_date
|
||||
import os, sys
|
||||
import os
|
||||
import sys
|
||||
import discord
|
||||
import asyncio
|
||||
from discord.ext import commands
|
||||
from __main__ import startup_date
|
||||
|
||||
|
||||
class OwnerCmds(commands.Cog, name='Owner commands'):
|
||||
@@ -16,7 +15,6 @@ class OwnerCmds(commands.Cog, name='Owner commands'):
|
||||
self.bot.load_extension('ext.' + extension)
|
||||
await ctx.send("Extension loaded.")
|
||||
|
||||
|
||||
@commands.command(hidden=True, ignore_extra=False)
|
||||
@commands.is_owner()
|
||||
async def unloadext(self, ctx, extension):
|
||||
@@ -31,7 +29,6 @@ class OwnerCmds(commands.Cog, name='Owner commands'):
|
||||
if 'Already up to date' not in result:
|
||||
os.execl(sys.executable, os.path.abspath(__file__), *sys.argv)
|
||||
|
||||
|
||||
@commands.command(hidden=True)
|
||||
@commands.is_owner()
|
||||
async def getlogs(self, ctx):
|
||||
|
||||
@@ -1,16 +1,16 @@
|
||||
import discord
|
||||
import asyncio
|
||||
import socket
|
||||
import re
|
||||
import discord
|
||||
from private import ID_TWITCH, TOKEN_TWITCH, SERVER, PORT, NICKNAME
|
||||
from discord.ext import tasks, commands
|
||||
from discord.ext.commands.cooldowns import BucketType
|
||||
from emoji import demojize
|
||||
from twitch import TwitchClient
|
||||
|
||||
twitch_client = TwitchClient(client_id=ID_TWITCH, oauth_token=TOKEN_TWITCH)
|
||||
chats = dict()
|
||||
|
||||
|
||||
def check_user(name):
|
||||
user = twitch_client.users.translate_usernames_to_ids([name])
|
||||
if not user:
|
||||
@@ -94,7 +94,6 @@ class TwitchCmds(commands.Cog, name='Twitch commands'):
|
||||
else:
|
||||
await ctx.send('```This twitch channel doesn\'t seems to exist.```')
|
||||
|
||||
|
||||
@commands.command()
|
||||
async def chat_stop(self, ctx):
|
||||
try:
|
||||
|
||||
+5
-5
@@ -1,11 +1,10 @@
|
||||
from private import TOKEN_BOT
|
||||
from time import time
|
||||
from datetime import datetime
|
||||
import logging
|
||||
import discord
|
||||
from discord.ext import commands
|
||||
from miscellaneous import spellchecker
|
||||
import logging
|
||||
import os, sys
|
||||
import discord
|
||||
from private import TOKEN_BOT
|
||||
|
||||
|
||||
print('Loading started')
|
||||
@@ -25,6 +24,7 @@ logger.setLevel(logging.INFO)
|
||||
|
||||
commandlist = []
|
||||
|
||||
|
||||
@bot.event
|
||||
async def on_ready():
|
||||
default_activity = discord.Activity(type=discord.ActivityType.listening, name='$help')
|
||||
@@ -51,7 +51,7 @@ def init():
|
||||
ignore = list(map(lambda cmd: cmd.name, bot.cogs["Owner commands"].get_commands()))
|
||||
for command in bot.commands:
|
||||
name = command.name
|
||||
if not name in ignore:
|
||||
if name not in ignore:
|
||||
commandlist.append(name)
|
||||
|
||||
|
||||
|
||||
@@ -13,9 +13,9 @@ def spellchecker(word, lst):
|
||||
for element in lst:
|
||||
prob = 0
|
||||
el_size = len(element)
|
||||
for car in element:
|
||||
for c in word:
|
||||
if car == c:
|
||||
for el_car in element:
|
||||
for wo_car in word:
|
||||
if el_car == wo_car:
|
||||
prob += 1
|
||||
for i in range(4):
|
||||
if el_size == wo_size - i:
|
||||
|
||||
Reference in New Issue
Block a user