スラッシュコマンドテスト用
This commit is contained in:
parent
99fd556319
commit
71ca2c0cda
1 changed files with 142 additions and 0 deletions
142
dislocker_slash.py
Normal file
142
dislocker_slash.py
Normal file
|
@ -0,0 +1,142 @@
|
|||
import discord
|
||||
import os
|
||||
import json
|
||||
import psycopg2
|
||||
import datetime
|
||||
import asyncio
|
||||
|
||||
class DL():
|
||||
def __init__(self):
|
||||
self.config_dir_path = "./config/"
|
||||
self.export_dir_path = "./export/"
|
||||
self.log_dir_path = "./log/"
|
||||
self.server_config_path = self.config_dir_path + "server.json"
|
||||
self.onetime_config_path = self.config_dir_path + "onetime.json"
|
||||
self.log_path = self.log_dir_path + "dislocker.txt"
|
||||
try:
|
||||
if not os.path.isdir(self.config_dir_path):
|
||||
print("config ディレクトリが見つかりません... 作成します。")
|
||||
os.mkdir(self.config_dir_path)
|
||||
|
||||
if not os.path.isfile(self.server_config_path):
|
||||
print("config ファイルが見つかりません... 作成します。")
|
||||
self.server_config = {
|
||||
"db": {
|
||||
"host": "localhost",
|
||||
"port": "5432",
|
||||
"db_name": "dislocker",
|
||||
"username": "user",
|
||||
"password": "password"
|
||||
},
|
||||
"bot": {
|
||||
"token": "TYPE HERE BOTS TOKEN KEY",
|
||||
"activity": {
|
||||
"name": "Dislocker",
|
||||
"details": "ロック中...",
|
||||
"type": "playing",
|
||||
"state": "ロック中..."
|
||||
},
|
||||
"log_channel_id" : "TYPE HERE CHANNEL ID (YOU MUST USE INT !!!!)",
|
||||
"config_channel_id": "TYPE HERE CHANNEL ID (YOU MUST USE INT !!!!)",
|
||||
"config_public_channel_id": "TYPE HERE CHANNEL ID (YOU MUST USE INT !!!!)",
|
||||
"monitor": {
|
||||
"search_frequency": 1,
|
||||
"allowable_time": 180,
|
||||
"fstop_time": "21:00:00"
|
||||
},
|
||||
"preset_games": ["TEST1", "TEST2", "TEST3", "TEST4", "TEST5"],
|
||||
"admin_user_id": "TYPE HERE CHANNEL ID (YOU MUST USE INT !!!!)",
|
||||
"debug": False
|
||||
}
|
||||
}
|
||||
|
||||
with open(self.server_config_path, "w", encoding="utf-8") as w:
|
||||
json.dump(self.server_config, w, indent=4, ensure_ascii=False)
|
||||
|
||||
|
||||
elif os.path.isfile(self.server_config_path):
|
||||
with open(self.server_config_path, "r", encoding="utf-8") as r:
|
||||
self.server_config = json.load(r)
|
||||
print("config ファイルを読み込みました。")
|
||||
|
||||
|
||||
if not os.path.isdir(self.export_dir_path):
|
||||
print("export ディレクトリが見つかりません... 作成します。")
|
||||
os.mkdir(self.export_dir_path)
|
||||
|
||||
if not os.path.isdir(self.log_dir_path):
|
||||
print("log ディレクトリが見つかりません... 作成します。")
|
||||
os.mkdir(self.log_dir_path)
|
||||
|
||||
|
||||
self.init_result = "ok"
|
||||
|
||||
except (Exception) as error:
|
||||
print("初回処理でエラーが発生しました。\nエラー内容\n" + str(error))
|
||||
self.init_result = "error"
|
||||
|
||||
finally:
|
||||
pass
|
||||
|
||||
def log(self, **kwargs):
|
||||
if self.debug == True:
|
||||
flag = 1
|
||||
else:
|
||||
if "flag" in kwargs:
|
||||
if kwargs["flag"] == 1:
|
||||
flag = 1
|
||||
else:
|
||||
flag = 0
|
||||
else:
|
||||
flag = 0
|
||||
|
||||
if flag == 1:
|
||||
title = str(kwargs["title"])
|
||||
if "message" in kwargs:
|
||||
message = str(kwargs["message"])
|
||||
else:
|
||||
message = None
|
||||
|
||||
current_datetime = str(datetime.now())
|
||||
|
||||
if message == None:
|
||||
detail = f"{current_datetime} | {title}\n"
|
||||
else:
|
||||
detail = f"{current_datetime} | {title}\n{message}\n"
|
||||
|
||||
print(detail)
|
||||
|
||||
if os.path.isfile(self.log_path):
|
||||
try:
|
||||
with open(self.log_path, "a", encoding="utf-8") as a:
|
||||
a.write(detail)
|
||||
except:
|
||||
print("LOGGING ERROR mode a")
|
||||
else:
|
||||
try:
|
||||
with open(self.log_path, "w", encoding="utf-8") as w:
|
||||
w.write(detail)
|
||||
except:
|
||||
print("LOGGING ERROR mode w")
|
||||
|
||||
intents = discord.Intents.default()
|
||||
intents.message_content = True
|
||||
|
||||
client = discord.Client(intents=intents)
|
||||
tree = discord.app_commands.CommandTree(client)
|
||||
|
||||
@client.event
|
||||
async def on_ready():
|
||||
print("Bot is ready.")
|
||||
print("Logged in as")
|
||||
print(client.user.name)
|
||||
print(client.user.id)
|
||||
print("------")
|
||||
await tree.sync()
|
||||
|
||||
@tree.command(name="use", description="パソコンの使用登録をします。")
|
||||
async def use(interaction: discord.Interaction):
|
||||
await interaction.response.send_message("パソコンの使用登録をします。", ephemeral=True)
|
||||
|
||||
dislocker = DL()
|
||||
client.run(dislocker.server_config["bot"]["token"])
|
Loading…
Reference in a new issue