Removing unused imports

This commit is contained in:
Luke Robles 2023-03-17 11:27:09 -07:00
parent 3c0b169f48
commit 6c7f305ce6
17 changed files with 5 additions and 326 deletions

View File

@ -1,7 +1,6 @@
import random
import glob
import requests
import urllib
import get_from_reddit

View File

@ -1,4 +1,6 @@
import requests, json, pprint, discord, datetime
import requests
import discord
import datetime
def get_player(player):

View File

@ -3,7 +3,6 @@ from discord.ext import commands
import core_utils
import discord
import os
import random
intents = discord.Intents.default()
intents.message_content = True

View File

@ -2,9 +2,7 @@ from discord.ext import commands
from discord import option
import discord
import os
import get_from_reddit
import core_utils
import requests
class ActualUtils(commands.Cog):

View File

@ -1,8 +1,6 @@
from discord import option
from discord.ext import commands
import core_utils
import get_from_reddit
import requests
class AnimeGirls(commands.Cog):

View File

@ -1,8 +1,6 @@
from discord.ext import commands
from discord import option
import core_utils
import discord
import random
import requests
import os

View File

@ -256,8 +256,7 @@ class Cheeky(commands.Cog):
if not ctx.channel.is_nsfw():
await ctx.send("You can only use this command in NSFW channels")
return
import lewds
# import lewds
# await ctx.send(
# embed=core_utils.generate_embed(
# embed_url=lewds.get_lewd(),

View File

@ -1,7 +1,5 @@
from discord import option
from discord.ext import commands
import core_utils
import discord
class Games(commands.Cog):
@ -60,8 +58,8 @@ class Games(commands.Cog):
async def battlefield(self, ctx: commands.Context, player_name: str):
import battlefield
embed = battlefield.get_player(player=player_name.lower())
await ctx.defer()
embed = battlefield.get_player(player=player_name.lower())
await ctx.send_followup(embed=embed)

View File

@ -2,7 +2,6 @@ from discord import option
from discord.ext import commands
import core_utils
import discord
import os
class Users(commands.Cog):

View File

@ -1,6 +1,4 @@
from bs4 import BeautifulSoup
from pandas import read_csv
from urllib.parse import urlparse
import discord
import os
import pandas as pd

View File

@ -1,6 +1,4 @@
import random
import sys
import help_methods

View File

@ -1,4 +1,3 @@
import os
import requests
import help_methods

View File

@ -1,296 +0,0 @@
import requests
import discord
import help_methods
base_url = "https://stats.quake.com/api/v2/"
def parse_message(message):
"""
parse_message(message)
Handles the message and looks for the player's name.
"""
# Return the player's name
name = message.content.split()[1]
if len(message.content.split()) > 1:
name = "%20".join(message.content.split()[1:])
return get_player_stats(player=name)
def get_player_stats(player):
"""
get_player_stats(player)
Makes the request to stats.quake.com and returns an embed object with a
bunch of data about the player
"""
player_endpoint = "Player/Stats?name={}".format(player)
try:
request = requests.get("{}{}".format(base_url, player_endpoint)).json()
return create_embed(stats=request)
except Exception:
return discord.Embed(
description="404, Player not found",
color=discord.Color.dark_red(),
type="rich",
)
def create_embed(stats):
"""
create_embed(stats)
Expects a json blob to be passed in and then builds the embed
object
"""
# Parse the json and pull out the numbers we want
champ_name, play_time = get_favorite_champion(stats)
fav_weapon, fav_weapon_kills = get_favorite_weapon(stats)
kd_ratio = get_kd(stats)
embed = discord.Embed(
description="**All Time account statistics**",
color=discord.Color.dark_red(),
type="rich",
)
embed.set_author(
name="\nShowing stats for {}".format(stats["name"]),
icon_url="https://stats.quake.com/icons/{}.png".format(
stats["playerLoadOut"]["iconId"]
),
)
embed.add_field(name="Current level:", value=stats["playerLevelState"]["level"])
embed.add_field(name="Total XP:", value=stats["playerLevelState"]["exp"])
embed.add_field(name="K/D:", value=kd_ratio)
embed.add_field(name="\u200b", value="\u200b", inline=False)
embed.add_field(name="Favorite Champion:", value=champ_name)
embed.add_field(name="Total Playtime:", value="~{} hours".format(play_time))
embed.add_field(name="\u200b", value="\u200b", inline=False)
embed.add_field(name="Favorite Weapon:", value=fav_weapon)
embed.add_field(name="Num of kills with it:", value=fav_weapon_kills)
embed.add_field(name="\u200b", value="\u200b", inline=False)
# If they've played a ranked match, show the stats
if len(stats["playerRatings"]["tdm"]["history"]):
match_blob = get_match_stats(stats, stats["name"])
embed.add_field(name="Last Ranked Game:", value=match_blob)
embed.set_footer(
text="Stats pulled from https://stats.quake.com",
icon_url="https://stats.quake.com/icons/profile_icon_cbt_participant.png",
)
return embed
def get_favorite_champion(blob):
"""
get_favorite_champion(blob)
figure out who the players favorite champion is
"""
play_times = {}
all_champions = blob["playerProfileStats"]["champions"]
for champion in all_champions:
for game_mode in blob["playerProfileStats"]["champions"][champion]["gameModes"]:
if champion in play_times:
play_times[champion] += blob["playerProfileStats"]["champions"][
champion
]["gameModes"][game_mode]["timePlayed"]
play_times[champion] += blob["playerProfileStats"]["champions"][
champion
]["gameModes"][game_mode]["rankedTimePlayed"]
else:
play_times[champion] = blob["playerProfileStats"]["champions"][
champion
]["gameModes"][game_mode]["timePlayed"]
play_times[champion] = blob["playerProfileStats"]["champions"][
champion
]["gameModes"][game_mode]["rankedTimePlayed"]
champion_play_time = max(play_times.values()) # maximum value
champion_name = [k for k, v in play_times.items() if v == champion_play_time][
0
] # getting all keys containing the `maximum`
# Convert play_time from miliseconds to hours
champion_play_time = round(float(champion_play_time) / (1000 * 60 * 60), 2)
return (prettify(champion_name), champion_play_time)
def get_favorite_weapon(blob):
"""
get_favorite_weapon(blob)
figure out what the players favorite weapon is
"""
weapon_stats = {}
all_champions = blob["playerProfileStats"]["champions"]
for champion in all_champions:
for weapon in blob["playerProfileStats"]["champions"][champion][
"damageStatusList"
]:
if weapon in weapon_stats:
weapon_stats[weapon] += blob["playerProfileStats"]["champions"][
champion
]["damageStatusList"][weapon]["kills"]
else:
weapon_stats[weapon] = blob["playerProfileStats"]["champions"][
champion
]["damageStatusList"][weapon]["kills"]
total_kills = max(weapon_stats.values()) # maximum value
weapon_name = [k for k, v in weapon_stats.items() if v == total_kills][
0
] # getting all keys containing the `maximum`
return (prettify(weapon_name), total_kills)
def get_kd(blob):
"""
get_kd(blob)
Parses json to find the player's k/d
"""
total_kills = 0
total_deaths = 0
all_champions = blob["playerProfileStats"]["champions"]
for champion in all_champions:
for game_mode in blob["playerProfileStats"]["champions"][champion]["gameModes"]:
total_kills += blob["playerProfileStats"]["champions"][champion][
"gameModes"
][game_mode]["kills"]
total_deaths += blob["playerProfileStats"]["champions"][champion][
"gameModes"
][game_mode]["deaths"]
return round(float(total_kills / total_deaths), 2)
def get_match_stats(blob, target_player):
"""
get_match_stats(blob, target_player)
Takes the stats blob and a player name (so we know who's K/D we care about).
Attempts to figure out what the ranked game type was and then pulls stats from that game
"""
# Figure out which ranked gametype they last played
game_type = (
"tdm"
if blob["playerRatings"]["tdm"]["lastUpdated"]
< blob["playerRatings"]["duel"]["lastUpdated"]
else "duel"
)
most_recent_match_id = blob["playerRatings"][game_type]["history"][0]["sessionId"]
match_endpoint = "Player/Games?id={}".format(most_recent_match_id)
match_data = requests.get("{}{}".format(base_url, match_endpoint)).json()
fav_weapon = match_data["battleReportPersonalStatistics"][0]["bestWeapon"]
accuracy = match_data["battleReportPersonalStatistics"][0][
"bestWeaponAccuracyPercent"
]
score = "-".join(str(x) for x in match_data["teamScores"])
for team_mate in match_data["battleReportPersonalStatistics"]:
if team_mate["nickname"].lower() == target_player.lower():
earnedXp = team_mate["earnedXp"]
earnedFavor = team_mate["earnedFavor"]
kill_death_ratio = round(
float(match_data["battleReportPersonalStatistics"][0]["kills"])
/ match_data["battleReportPersonalStatistics"][0]["deaths"],
2,
)
return_blob = "Final score: {}\nK/D: {}\nFavorite Weapon: {} | {}% Accuracy\nXP Earned: {} | Favor Earned: {}".format(
score,
kill_death_ratio,
prettify(fav_weapon),
accuracy,
earnedXp,
earnedFavor,
)
return return_blob
def prettify(name):
"""
prettify(name)
Takes in an items name and returns a cleaned up / readable version
"""
item_map = {
"UNKNOWN_DAMAGE_TYPE": "Unknown Damage Type",
"GAUNTLET": "Gauntlet",
"MACHINEGUN": "Machinegun",
"MACHINEGUN_GRADE1": "Heavy Machinegun",
"SHOTGUN": "Basic Shotgun",
"SHOTGUN_GRADE1": "Super Shotgun",
"NAILGUN": "Nailgun",
"NAILGUN_GRADE1": "Super Nailgun",
"ROCKET_LAUNCHER": "Rocket Launcher",
"LIGHTNING_GUN": "Lightning Gun",
"RAILGUN": "Railgun",
"LAGBOLT": "TriBolt",
"ACID_DOMAIN": "Environmental Acid Death",
"DAMAGE_DOMAIN": "Environmental Damage Death",
"KILL_DOMAIN": "Environmental Kill Death",
"DIRE_ORB": "Dire Orb",
"DIRE_ORB_EXPLOSION": "Dire Orb Explosion",
"DIRE_ORB_TELEFRAG": "Dire Orb Telefrag",
"UNHOLY": "Galena's Totem",
"TELEFRAG": "Telefrag",
"FALL_DAMAGE": "Fall Damage",
"PLASMA_TRAIL": "Slash's Plasma Trail",
"PLASMA_TRAIL_EXPLOSION": "Slash's Plasma Trail Explosion",
"MINING_LASER": "Mining Laser",
"ABILITY_BERSERK": "Doom Slayer's Berserk Mode",
"SWARM_GRENADE": "Keel's Swarm Grenade",
"SB_DASH": "Scalbarer's Rush",
"SB_STOMP": "Scalbarer's Stomp",
"ACID_SPIT_DIRECT": "Acid Spit Direct",
"VENDETTA_TELEFRAG": "Vendetta Telefrag",
"ACID_DOT": "Sorlag's Acid DOT",
"FLAME_DOT": "Flame DOT",
"FLAME": "Flame",
"ACID": "Acid",
"DRONE_KAMIKAZE_EXPLOSION": "Drone Kamikaze Explosion",
"RECON_DRONE": "Recon Drone",
"RECON_DRONE_EXPLOSION": "Recon Drone Explosion",
"ANARKI": "Anarki",
"ATHENA": "Athena",
"BJ_BLAZKOWICZ": "BJ Blazkowicz",
"CLUTCH": "Clutch",
"DEATH_KNIGHT": "Death Knight",
"DOOM_SLAYER": "Doom Slayer",
"EISEN": "Eisen",
"GALENA": "Galena",
"KEEL": "Keel",
"NYX": "Nyx",
"RANGER": "Ranger",
"SCALEBEARER": "Scalebearer",
"SLASH": "Slash",
"SORLAG": "Sorlag",
"STROGG": "Strogg",
"VISOR": "Visor",
}
return item_map[name]

View File

@ -1,5 +1,3 @@
import requests
import core_utils
import get_from_reddit

View File

@ -1,9 +1,5 @@
from bs4 import BeautifulSoup
import base64
import httpx
import json
import requests
import socket
import tempfile

View File

@ -1,5 +1,4 @@
import discord
import os
import requests

View File

@ -1,7 +1,4 @@
from bs4 import BeautifulSoup
from urllib.parse import urlparse
import requests
import urllib
def get_wall(tags):