pybot-f/pybot-f.py

57 lines
No EOL
1.5 KiB
Python

# pybot-f by freakyy85 (freaky@freakyonline.de)
import os
import configparser
import discord
import asyncio
from discord.ext import commands
description = '''Testing this bot stuff :)'''
intents = discord.Intents.default()
intents.members = True
intents.message_content = True
# Config loading
config = configparser.ConfigParser()
config.read('bot.ini')
bottoken = config['General']['bottoken']
bot = commands.Bot(command_prefix='?', description=description, intents=intents)
@bot.event
async def on_ready():
print(f'Logged in as {bot.user} (ID: {bot.user.id})')
print('------')
@bot.command()
async def repeat(ctx, times: int, content='repeating...'):
"""Repeats a message multiple times."""
for i in range(times):
await ctx.send(content)
@bot.command()
async def joined(ctx, member: discord.Member):
"""Says when a member joined."""
await ctx.send(f'{member.name} joined {discord.utils.format_dt(member.joined_at)}')
async def scanext():
with os.scandir('./ext/') as dirs:
for entry in dirs:
if entry.name.endswith('.py'):
try:
print(f"Loading extension: {entry.name}")
await bot.load_extension('ext.' + os.path.splitext(entry.name)[0])
except Exception as error:
print(f'Error loading {entry.name}: {error}')
async def main():
async with bot:
await scanext()
await bot.start(bottoken)
asyncio.run(main())