bunch of changes

working on avatar, created prefix (it doesn't work though yet), and made ping remove the initial message when editing
This commit is contained in:
SeaswimmerTheFsh 2023-06-19 21:50:15 -04:00
parent b0fbe87fc0
commit 226e8b34d9

36
main.py
View file

@ -4,17 +4,19 @@ import os
import aiohttp import aiohttp
import revolt import revolt
from revolt.ext import commands from revolt.ext import commands
import dotenv
from dotenv import load_dotenv from dotenv import load_dotenv
load_dotenv() env = dotenv.find_dotenv()
load_dotenv(env)
token = os.getenv('TOKEN') token = os.getenv('TOKEN')
api_url = os.getenv('API_URL') api_url = os.getenv('API_URL')
prefix = os.getenv('PREFIX') prefix = os.getenv('PREFIX')
class Client(commands.CommandsClient): class Client(commands.CommandsClient):
# This class contains all of the commands the bot uses. # This class contains all of the commands the bot uses.
async def get_prefix(self, message: revolt.Message): async def get_prefix(self, message: revolt.Message, input: str = prefix):
return prefix return input
@commands.command() @commands.command()
async def ping(self, ctx: commands.Context): async def ping(self, ctx: commands.Context):
@ -25,18 +27,34 @@ class Client(commands.CommandsClient):
mrm = mrm_list[0] mrm = mrm_list[0]
ping = (time.monotonic() - before) * 1000 ping = (time.monotonic() - before) * 1000
embeds = [revolt.SendableEmbed(title="🏓 Pong!", description=f"`\n{int(ping)} ms`", colour="#5d82d1")] embeds = [revolt.SendableEmbed(title="🏓 Pong!", description=f"`\n{int(ping)} ms`", colour="#5d82d1")]
await mrm.edit(content=None, embeds=embeds) await mrm.edit(content=" ", embeds=embeds)
print(f'Ping {int(ping)}ms') print(f'Ping {int(ping)}ms')
@commands.command() @commands.command()
async def avatar(self, ctx: commands.Context, member: revolt.Member): async def avatar(self, ctx: commands.Context, target: revolt.User):
# This command retrieves a user's avatar. # This command retrieves a user's avatar. CURRENTLY BROKEN
if not isinstance(member, revolt.Member): if not isinstance(target, revolt.User):
await ctx.send("Please provide a member argument!") await ctx.send("Please provide a user argument!")
return return
avatar = member.avatar.url avatar = target.avatar.url
await ctx.send(f"{avatar}") await ctx.send(f"{avatar}")
@commands.command()
@commands.is_bot_owner()
async def prefix(self, ctx: commands.Context, new_prefix: str = None):
# This command sets the bot's prefix. CURRENTLY BROKEN
if 'PREFIX' not in os.environ:
await ctx.send("Something is very wrong! You have managed to run a prefix command without having a prefix set in your `.env` file!")
print("ERROR: prefix_env_var check failed!")
return
if new_prefix is not None:
dotenv.set_key(env, 'PREFIX', new_prefix)
await ctx.send(f"Prefix has been changed from `{prefix}` to `{new_prefix}`!")
print(f"Prefix changed: {prefix}{new_prefix}")
await Client.get_prefix(ctx.message, new_prefix)
else:
await ctx.send(f"The prefix is currently set to `{prefix}`.")
async def main(): async def main():
# This function logs into the bot user. # This function logs into the bot user.
async with aiohttp.ClientSession() as session: async with aiohttp.ClientSession() as session: