Yves/commands/admin.py

66 lines
2 KiB
Python

import nerimity
import bot
import utils as u
def setup(bot: bot.Bot):
@bot.command(name="echo")
async def echo(ctx: nerimity.Context, *text: str):
if not bot.is_owner(ctx.author): return
if not text:
await ctx.send(u.error_msg("Contents are empty."))
return
try: await ctx.send(" ".join(text))
except Exception as e:
print(e)
await ctx.send(u.error_msg(f"Unknown error:\n`{e}`"))
@bot.command(name="servercount", aliases=["sc"])
async def servercount(ctx: nerimity.Context):
if not bot.is_owner(ctx.author): return
try: await ctx.send(f"I'm in {len(bot.servers)} servers!!")
except Exception as e:
print(e)
await ctx.send(u.error_msg(f"Unknown error:\n`{e}`"))
@bot.command(name="post")
async def post(ctx: nerimity.Context, *text: str):
if not bot.is_owner(ctx.author): return
if not text:
await ctx.send(u.error_msg("Contents are empty."))
return
try:
await ctx.send(f"Creating post:\n```markdown\n{" ".join(text)}\n```")
post = nerimity.Post.create_post(content=" ".join(text))
print(f"Posted: {post}")
await ctx.send(u.good_msg(f"Post created!!"))
except Exception as e:
print(e)
await ctx.send(u.error_msg(f"Unknown error:\n`{e}`"))
@bot.command(name="rmpost")
async def rmpost(ctx: nerimity.Context, post: str = None):
if not bot.is_owner(ctx.author): return
if not post:
await ctx.send(u.error_msg("No post ID provided."))
return
try:
post_id = int(post)
_post = nerimity.Post.get_post(post_id)
_post.delete_post()
await ctx.send("Deleted post.")
except Exception as e:
print(e)
await ctx.send(u.error_msg(f"Unknown error:\n`{e}`"))