62 lines
2.2 KiB
Python
62 lines
2.2 KiB
Python
import discord, csv, os
|
|
from discord import app_commands
|
|
from discord.ext import commands
|
|
|
|
bot = commands.Bot(command_prefix="&", intents = discord.Intents.all())
|
|
|
|
#
|
|
#
|
|
#
|
|
|
|
async def zapis_info_hadanka(guild_id, aktivni, zadavetel_id, fraze, zkratka):
|
|
with open(f"guild_data/guild_{guild_id}.csv", 'w', newline='') as csvfile:
|
|
fieldnames = ['aktivni', 'zadavatel_id', 'fraze', 'zkratka']
|
|
writer = csv.DictWriter(csvfile, fieldnames=fieldnames)
|
|
writer.writeheader()
|
|
writer.writerow({'zadavatel_id': zadavetel_id, 'fraze': fraze, 'zkratka': zkratka})
|
|
|
|
async def precti(guild_id, klic):
|
|
with open(f'guild_data/guild_{guild_id}.csv', newline='') as csvfile:
|
|
reader = csv.DictReader(csvfile)
|
|
for row in reader:
|
|
return str(row[str(klic)])
|
|
#
|
|
#
|
|
#
|
|
|
|
@bot.event
|
|
async def on_ready():
|
|
print(f"[ONREADY] logged in as: {bot.user}")
|
|
try:
|
|
synced = await bot.tree.sync()
|
|
print(f"[ONREADY] synced {len(synced)} command(s)")
|
|
except Exception as e:
|
|
print(e)
|
|
|
|
#
|
|
#
|
|
#
|
|
|
|
#zadat hadanku serveru
|
|
@bot.tree.command(name="makeriddle")
|
|
@app_commands.describe(riddle = "few words from which I will make abbreviation for others to guess") #parametr commandu
|
|
async def makeriddle(interaction: discord.Interaction, riddle: str):
|
|
guildid = interaction.guild_id
|
|
if await precti(guildid, 'aktivni') == "ne" or os.path.exists(f'guild_data/guild_{guildid}.csv') == False:
|
|
zkratka = "".join(list(w[0].upper() for w in riddle.split(' ')))
|
|
await zapis_info_hadanka(guildid, "ano", interaction.user.id, riddle, zkratka)
|
|
|
|
await interaction.response.send_message(f"you have set the riddle to: **{riddle}**, you can end the guessing using */end*", ephemeral=True)
|
|
print(f"[MAKERIDDLE] in guild {guildid} user {interaction.user.id} set riddle to: {riddle}")
|
|
|
|
await interaction.channel.send(f"{interaction.user.display_name} has set a new abbreviation to solve: **{zkratka}**!")
|
|
else:
|
|
pzkratka = await precti(guildid, 'zkratka')
|
|
await interaction.response.send_message(f"Abbreviation already set ({pzkratka})", ephemeral=True)
|
|
#
|
|
#
|
|
#
|
|
|
|
TOKEN = open("gesbod_token.txt", 'r').read()
|
|
bot.run(TOKEN)
|