diff --git a/audio/375664768087752714/bear2_enemy_scav3.wav b/audio/375664768087752714/bear2_enemy_scav3.wav new file mode 100644 index 0000000..c073d98 Binary files /dev/null and b/audio/375664768087752714/bear2_enemy_scav3.wav differ diff --git a/audio/scav1_enemy_contact_07_l.wav b/audio/scav1_enemy_contact_07_l.wav new file mode 100644 index 0000000..a537f38 Binary files /dev/null and b/audio/scav1_enemy_contact_07_l.wav differ diff --git a/audio/scav1_enemy_contact_08_l.wav b/audio/scav1_enemy_contact_08_l.wav new file mode 100644 index 0000000..5900c94 Binary files /dev/null and b/audio/scav1_enemy_contact_08_l.wav differ diff --git a/audio/scav1_enemy_contact_15_l.wav b/audio/scav1_enemy_contact_15_l.wav new file mode 100644 index 0000000..a8b8762 Binary files /dev/null and b/audio/scav1_enemy_contact_15_l.wav differ diff --git a/audio/scav2_attention_01_bl.wav b/audio/scav2_attention_01_bl.wav new file mode 100644 index 0000000..4e34f4b Binary files /dev/null and b/audio/scav2_attention_01_bl.wav differ diff --git a/audio/scav2_enemy_contact_01_l.wav b/audio/scav2_enemy_contact_01_l.wav new file mode 100644 index 0000000..a38de48 Binary files /dev/null and b/audio/scav2_enemy_contact_01_l.wav differ diff --git a/audio/scav2_enemy_contact_07_l.wav b/audio/scav2_enemy_contact_07_l.wav new file mode 100644 index 0000000..506f175 Binary files /dev/null and b/audio/scav2_enemy_contact_07_l.wav differ diff --git a/audio/scav2_enemy_contact_15_l.wav b/audio/scav2_enemy_contact_15_l.wav new file mode 100644 index 0000000..b08b504 Binary files /dev/null and b/audio/scav2_enemy_contact_15_l.wav differ diff --git a/audio/scav2_enemy_contact_22_bl.wav b/audio/scav2_enemy_contact_22_bl.wav new file mode 100644 index 0000000..9f10ff8 Binary files /dev/null and b/audio/scav2_enemy_contact_22_bl.wav differ diff --git a/audio/scav2_enemy_contact_26_bl.wav b/audio/scav2_enemy_contact_26_bl.wav new file mode 100644 index 0000000..766547f Binary files /dev/null and b/audio/scav2_enemy_contact_26_bl.wav differ diff --git a/audio/scav2_enemy_usec_10_bl.wav b/audio/scav2_enemy_usec_10_bl.wav new file mode 100644 index 0000000..596ef6b Binary files /dev/null and b/audio/scav2_enemy_usec_10_bl.wav differ diff --git a/audio/scav2_enemy_usec_11_bl.wav b/audio/scav2_enemy_usec_11_bl.wav new file mode 100644 index 0000000..1620924 Binary files /dev/null and b/audio/scav2_enemy_usec_11_bl.wav differ diff --git a/audio/scav2_enemy_usec_14_bl.wav b/audio/scav2_enemy_usec_14_bl.wav new file mode 100644 index 0000000..8408c6e Binary files /dev/null and b/audio/scav2_enemy_usec_14_bl.wav differ diff --git a/audio/scav2_enemy_usec_15_bl.wav b/audio/scav2_enemy_usec_15_bl.wav new file mode 100644 index 0000000..58fa4fd Binary files /dev/null and b/audio/scav2_enemy_usec_15_bl.wav differ diff --git a/audio/scav2_enemy_usec_16_bl.wav b/audio/scav2_enemy_usec_16_bl.wav new file mode 100644 index 0000000..43c133c Binary files /dev/null and b/audio/scav2_enemy_usec_16_bl.wav differ diff --git a/audio/scav2_mutter_06.wav b/audio/scav2_mutter_06.wav new file mode 100644 index 0000000..4420e3b Binary files /dev/null and b/audio/scav2_mutter_06.wav differ diff --git a/audio/scav2_mutter_27_bl.wav b/audio/scav2_mutter_27_bl.wav new file mode 100644 index 0000000..47e1834 Binary files /dev/null and b/audio/scav2_mutter_27_bl.wav differ diff --git a/audio/scav3_enemy_bear_03.wav b/audio/scav3_enemy_bear_03.wav new file mode 100644 index 0000000..90cafbe Binary files /dev/null and b/audio/scav3_enemy_bear_03.wav differ diff --git a/audio/scav3_enemy_bear_04.wav b/audio/scav3_enemy_bear_04.wav new file mode 100644 index 0000000..1d3cd88 Binary files /dev/null and b/audio/scav3_enemy_bear_04.wav differ diff --git a/audio/scav3_enemy_bear_06_bl.wav b/audio/scav3_enemy_bear_06_bl.wav new file mode 100644 index 0000000..89eeb50 Binary files /dev/null and b/audio/scav3_enemy_bear_06_bl.wav differ diff --git a/audio/scav3_enemy_contact_01_l.wav b/audio/scav3_enemy_contact_01_l.wav new file mode 100644 index 0000000..63c4046 Binary files /dev/null and b/audio/scav3_enemy_contact_01_l.wav differ diff --git a/audio/scav3_enemy_contact_07_l.wav b/audio/scav3_enemy_contact_07_l.wav new file mode 100644 index 0000000..3ec5751 Binary files /dev/null and b/audio/scav3_enemy_contact_07_l.wav differ diff --git a/audio/scav3_enemy_usec_01.wav b/audio/scav3_enemy_usec_01.wav new file mode 100644 index 0000000..d0e6546 Binary files /dev/null and b/audio/scav3_enemy_usec_01.wav differ diff --git a/audio/scav3_enemy_usec_03.wav b/audio/scav3_enemy_usec_03.wav new file mode 100644 index 0000000..c322d77 Binary files /dev/null and b/audio/scav3_enemy_usec_03.wav differ diff --git a/audio/scav3_enemy_usec_08.wav b/audio/scav3_enemy_usec_08.wav new file mode 100644 index 0000000..60de79b Binary files /dev/null and b/audio/scav3_enemy_usec_08.wav differ diff --git a/audio/scav3_enemy_usec_16_bl.wav b/audio/scav3_enemy_usec_16_bl.wav new file mode 100644 index 0000000..82f9469 Binary files /dev/null and b/audio/scav3_enemy_usec_16_bl.wav differ diff --git a/audio/scav3_mutter_30.wav b/audio/scav3_mutter_30.wav new file mode 100644 index 0000000..ea043b2 Binary files /dev/null and b/audio/scav3_mutter_30.wav differ diff --git a/audio/scav3_mutter_34_bl.wav b/audio/scav3_mutter_34_bl.wav new file mode 100644 index 0000000..8c4bc48 Binary files /dev/null and b/audio/scav3_mutter_34_bl.wav differ diff --git a/test.py b/test.py new file mode 100644 index 0000000..00eb250 --- /dev/null +++ b/test.py @@ -0,0 +1,122 @@ +import sys +import threading +import logging +import discord +import sqlite3 + +from discord.ext import commands +from dislash import InteractionClient, Option, OptionType +from discord import app_commands + + +def insert_varible_into_table(name, userid, isbot, nick, guild): + try: + sqlite_connection = sqlite3.connect('user.db') + cursor = sqlite_connection.cursor() + cursor.execute(f'''CREATE TABLE IF NOT EXISTS "{str(guild)}" + ([userid] INTEGER PRIMARY KEY, [username] TEXT, [nick] TEXT, [isbot] BOOL, [track] TEXT) + ''') + + sqlite_insert_with_param = (f"""INSERT OR IGNORE INTO "{str(guild)}" + (username, userid, nick, isbot) + VALUES (?, ?, ?, ?)""") + + data_tuple = (name, userid, nick, isbot) + cursor.execute(sqlite_insert_with_param, data_tuple) + sqlite_connection.commit() + + cursor.close() + + except sqlite3.Error as error: + logging.error("Failed to insert Python variable into sqlite table", error) + + +def _add_audio(guildid, user, audio): + try: + sql_conn = sqlite3.connect('user.db') + cursor = sql_conn.cursor() + sql_update_query = f"""UPDATE "{str(guildid)}" set track = ? where userid = ?""" + data_tuple = (audio, user.removesuffix('>').removeprefix('<@')) + cursor.execute(sql_update_query, data_tuple) + sql_conn.commit() + + cursor.close() + + except sqlite3.Error as error: + logging.error("Failed to insert Python variable into sqlite table", error) + + +def _read_db(guildid, user): + try: + sql_con = sqlite3.connect("user.db") + cursor = sql_con.cursor() + sql_read = f"""SELECT * FROM "{guildid}" where userid = {user.removesuffix('>').removeprefix('<@')}""" + cursor.execute(sql_read) + record = cursor.fetchone() + if record[4] is None: + return "None" + else: + return record[4] + + except sqlite3.Error as error: + logging.error("Failed to read sqlite table", error) + finally: + if sql_con: + sql_con.close() + + +threading.current_thread().name = "main" +logging.basicConfig(stream=sys.stdout, filemode='w', level='INFO', + format='%(asctime)s - %(levelname)s - %(threadName)s - %(message)s') + +intents = discord.Intents.default() +intents.members = True +bot = commands.Bot(command_prefix='$', guild_subscriptions=True, intents=intents) +inter_client = InteractionClient(bot) + + +@bot.event +async def on_ready(): + for g in bot.get_all_members(): + insert_varible_into_table(g.name, g.id, g.bot, g.nick, g.guild.id) + logging.info(f'Bot started') + logging.info('We have logged in as {0.user}'.format(bot)) + + +@bot.event +async def on_guild_join(guild): + for g in guild.members: + insert_varible_into_table(g.name, g.id, g.bot, g.nick, guild.id) + + +@bot.event +async def on_member_join(member): + insert_varible_into_table(member.name, member.id, member.bot, member.nick, member.guild.id) + + +@bot.command() +async def add_audio(ctx, user, audio): + _add_audio(ctx.guild.id, user, audio) + + +@bot.command() +async def test(ctx, user): + await ctx.send(_read_db(ctx.guild.id, user)) + + +@inter_client.slash_command( + name="read-audio", + description="Shows user's profile", + options=[ + Option("user", "Specify any user", OptionType.USER), + ] +) +async def hello(ctx, user, interaction: discord.Interaction): + await interaction.deferReply() + result = await _read_db(ctx.guild.id, user) + await ctx.send(result) + + # await ctx.send(_read_db(ctx.guild.id, user)) + + +bot.run('OTQ3OTUzOTAxNzgzNjIxNjYy.GTXbMv.KrztaTO7-ivsPEAVjsyikSQ-GP-ANwULmDraig') diff --git a/user.db b/user.db new file mode 100644 index 0000000..a16f3a6 Binary files /dev/null and b/user.db differ