From 6b2ecd364543e7ad9ac9a03947c390928fa8aee0 Mon Sep 17 00:00:00 2001 From: gx1285 <78240988+gx1285@users.noreply.github.com> Date: Sun, 16 Oct 2022 20:56:04 +0900 Subject: [PATCH 01/35] =?UTF-8?q?new:=20verify=5Fcallback=E3=81=A8verify?= =?UTF-8?q?=E3=82=92=E5=90=88=E4=BD=93=E3=81=97=E3=81=9F,=20afk=E8=BF=BD?= =?UTF-8?q?=E5=8A=A0,=20userinfo=E3=81=AE=E5=BC=95=E6=95=B0=E3=81=AB?= =?UTF-8?q?=E8=AA=AC=E6=98=8E=E8=BF=BD=E5=8A=A0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- cogs/afk.py | 38 ++++++++++++++++++++++++++++++++++++++ cogs/help.py | 2 +- cogs/userinfo.py | 1 + cogs/verify.py | 14 ++++++++++++++ cogs/verify_callback.py | 31 ------------------------------- 5 files changed, 54 insertions(+), 32 deletions(-) create mode 100644 cogs/afk.py delete mode 100644 cogs/verify_callback.py diff --git a/cogs/afk.py b/cogs/afk.py new file mode 100644 index 0000000..5867006 --- /dev/null +++ b/cogs/afk.py @@ -0,0 +1,38 @@ +from discord.ext import commands +from discord import app_commands +from replit import db +import discord + + +def afk_set_db(key, data): + db[f"afk_{key}"] = data + + +def afk_get(key): + return db[f"afk_{key}"] + +class afk(commands.Cog): + def __init__(self, bot: commands.Bot) -> None: + self.bot: commands.Bot = bot + @app_commands.describe(reason="afkになる理由") + @app_commands.command(name="afk_set", description="afkをセット又は解除します。") + async def afk(self, i: discord.Interaction, reason: str): + try: + afk_set_db(int(i.user.id), reason) + await i.response.send_message("afkをセットしました!") + except: + await i.response.send_message("afkをセットできませんでした。", ephemeral=True) + + @commands.Cog.listener(name='on_message') + async def afk_msg(self, message: discord.Message): + try: + if message.mentions: + for d in message.mentions: + if afk_get[int(d.id)]: + await message.channel.send("このユーザーはafkです。(こののメッセージは10秒後に削除されます。)", delete_after=10) + except: + pass + + +async def setup(bot: commands.Bot) -> None: + await bot.add_cog(afk(bot)) diff --git a/cogs/help.py b/cogs/help.py index 4d82a15..fdb994b 100644 --- a/cogs/help.py +++ b/cogs/help.py @@ -2,7 +2,7 @@ from discord.ext import commands import Paginator from discord import app_commands -a = "Tips: `/help コマンド名`か、`eg!help コマンド名`でコマンドを検索できます。" +a = "Tips: `/help コマンド名`でコマンドを検索できます。" class Help(commands.Cog): diff --git a/cogs/userinfo.py b/cogs/userinfo.py index 1ae9eaf..00b9f6d 100644 --- a/cogs/userinfo.py +++ b/cogs/userinfo.py @@ -8,6 +8,7 @@ class Userinfo(commands.Cog): def __init__(self, bot: commands.Bot) -> None: self.bot: commands.Bot = bot + @app_commands.describe(user="ユーザー") @app_commands.command(name="userinfo", description="指定したユーザーの情報を返します。") async def userinfo( self, diff --git a/cogs/verify.py b/cogs/verify.py index 476892e..5285a1b 100644 --- a/cogs/verify.py +++ b/cogs/verify.py @@ -25,6 +25,20 @@ class verify(commands.Cog): def __init__(self, bot: commands.Bot) -> None: self.bot: commands.Bot = bot + @commands.Cog.listener(name='on_interaction') + async def verify_interaction_callback(self, i: discord.Interaction): + try: + get = json.dumps(i.data) + json_get = json.loads(get) + if json_get["custom_id"] == "verify_type_1": + data = verify_db_get(int(i.message.id)) + await i.guild.get_member(i.user.id).add_roles( + i.guild.get_role(int(data["role_id"])) + ) + await i.response.send_message("ロールを付与しました。", ephemeral=True) + except KeyError: + pass + @app_commands.describe(name="パネルの名前", description="パネルの説明", role="付与するロール") @app_commands.command( name="verify", diff --git a/cogs/verify_callback.py b/cogs/verify_callback.py deleted file mode 100644 index 6d6bbf3..0000000 --- a/cogs/verify_callback.py +++ /dev/null @@ -1,31 +0,0 @@ -import discord -from discord.ext import commands -import json -from replit import db - - -def verify_db_get(key): - return db[f"verify_1_db_{key}"] - - -class Verify_interaction(commands.Cog): - def __init__(self, bot: commands.Bot) -> None: - self.bot: commands.Bot = bot - - @commands.Cog.listener() - async def on_interaction(self, i: discord.Interaction): - try: - get = json.dumps(i.data) - json_get = json.loads(get) - if json_get["custom_id"] == "verify_type_1": - data = verify_db_get(int(i.message.id)) - await i.guild.get_member(i.user.id).add_roles( - i.guild.get_role(int(data["role_id"])) - ) - await i.response.send_message("ロールを付与しました。", ephemeral=True) - except KeyError: - pass - - -async def setup(bot: commands.Bot) -> None: - await bot.add_cog(Verify_interaction(bot)) From 86f78dabac45c69d2361d8495743a8398f8a857e Mon Sep 17 00:00:00 2001 From: gx1285 <78240988+gx1285@users.noreply.github.com> Date: Sun, 16 Oct 2022 20:57:20 +0900 Subject: [PATCH 02/35] =?UTF-8?q?new:=20afk=E3=82=92=E8=A7=A3=E9=99=A4?= =?UTF-8?q?=E3=81=99=E3=82=8B=E3=81=9F=E3=82=81=E3=81=AE=E3=82=B3=E3=83=9E?= =?UTF-8?q?=E3=83=B3=E3=83=89?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- cogs/afk.py | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/cogs/afk.py b/cogs/afk.py index 5867006..69a6809 100644 --- a/cogs/afk.py +++ b/cogs/afk.py @@ -16,13 +16,21 @@ def __init__(self, bot: commands.Bot) -> None: self.bot: commands.Bot = bot @app_commands.describe(reason="afkになる理由") @app_commands.command(name="afk_set", description="afkをセット又は解除します。") - async def afk(self, i: discord.Interaction, reason: str): + async def afks(self, i: discord.Interaction, reason: str): try: afk_set_db(int(i.user.id), reason) await i.response.send_message("afkをセットしました!") except: await i.response.send_message("afkをセットできませんでした。", ephemeral=True) + @app_commands.command(name="afk_kaizyo", description="afkを解除します") + async def afkk(self, i: discord.Interaction): + try: + afk_set_db(int(i.user.id), False) + await i.response.send_message("afkを解除しました!") + except: + await i.response.send_message("afkを解除できませんでした。", ephemeral=True) + @commands.Cog.listener(name='on_message') async def afk_msg(self, message: discord.Message): try: From 2fc39410758a2c95a22a9a6d7bf9ad9ce502ae28 Mon Sep 17 00:00:00 2001 From: gx1285 <78240988+gx1285@users.noreply.github.com> Date: Sun, 16 Oct 2022 20:59:50 +0900 Subject: [PATCH 03/35] =?UTF-8?q?fix:=20Flake8=20Lint=E3=81=AB=E5=BC=95?= =?UTF-8?q?=E3=81=A3=E3=81=8B=E3=81=8B=E3=82=89=E3=81=AA=E3=81=84=E3=82=88?= =?UTF-8?q?=E3=81=86=E3=81=AB?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- cogs/verify.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/cogs/verify.py b/cogs/verify.py index 5285a1b..c3b9115 100644 --- a/cogs/verify.py +++ b/cogs/verify.py @@ -2,7 +2,7 @@ from discord.ext import commands from discord import app_commands from replit import db - +import json def verify_db(key, data): db[f"verify_1_db_{key}"] = data From 9144d37d725d3ddd874c3800aa7c3d72c8baa5bd Mon Sep 17 00:00:00 2001 From: gx1285 <78240988+gx1285@users.noreply.github.com> Date: Sun, 16 Oct 2022 21:03:14 +0900 Subject: [PATCH 04/35] =?UTF-8?q?fix:=20Flake8=20Lint=E3=81=AB=E5=BC=95?= =?UTF-8?q?=E3=81=A3=E3=81=8B=E3=81=8B=E3=82=89=E3=81=AA=E3=81=84=E3=82=88?= =?UTF-8?q?=E3=81=86=E3=81=AB?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- cogs/afk.py | 2 ++ cogs/verify.py | 1 + 2 files changed, 3 insertions(+) diff --git a/cogs/afk.py b/cogs/afk.py index 69a6809..f07da36 100644 --- a/cogs/afk.py +++ b/cogs/afk.py @@ -11,9 +11,11 @@ def afk_set_db(key, data): def afk_get(key): return db[f"afk_{key}"] + class afk(commands.Cog): def __init__(self, bot: commands.Bot) -> None: self.bot: commands.Bot = bot + @app_commands.describe(reason="afkになる理由") @app_commands.command(name="afk_set", description="afkをセット又は解除します。") async def afks(self, i: discord.Interaction, reason: str): diff --git a/cogs/verify.py b/cogs/verify.py index c3b9115..9243341 100644 --- a/cogs/verify.py +++ b/cogs/verify.py @@ -4,6 +4,7 @@ from replit import db import json + def verify_db(key, data): db[f"verify_1_db_{key}"] = data From 06e93aa09834470982ff592848b1b0f3c8ccb0dd Mon Sep 17 00:00:00 2001 From: gx1285 <78240988+gx1285@users.noreply.github.com> Date: Mon, 17 Oct 2022 17:00:20 +0900 Subject: [PATCH 05/35] new: ban_member --- cogs/ban_member.py | 28 ++++++++++++++++++++++++++++ 1 file changed, 28 insertions(+) create mode 100644 cogs/ban_member.py diff --git a/cogs/ban_member.py b/cogs/ban_member.py new file mode 100644 index 0000000..09fcf04 --- /dev/null +++ b/cogs/ban_member.py @@ -0,0 +1,28 @@ +from discord.ext import commands +from discord import app_commands +import discord + + +class ban_member(commands.Cog): + def __init__(self, bot: commands.Bot) -> None: + self.bot: commands.Bot = bot + + @app_commands.command(name="ban_member", description="Banされたユーザー一覧を表示します。") + async def ban_members(self, i: discord.Interaction): + try: + if i.guild.channels.permissions_for(i.user) == discord.Permissions.ban_members: + if i.guild.channels.permissions_for(i.guild.get_member(self.bot.user.id)) == discord.Permissions.ban_members: + async for entry in guild.bans(limit=150): + print(entry.user, entry.reason) + else: + await i.response.send_message("データを取得できませんでした(Botの権限がないなどの原因で)", ephemeral=True) + else: + await i.response.send_message("データを取得できませんでした(権限がないなどの原因で)", ephemeral=True) + except: + await i.response.send_message("データを取得できませんでした(権限がないなどの原因で)", ephemeral=True) + + + + +async def setup(bot: commands.Bot) -> None: + await bot.add_cog(ban_member(bot)) From 34b4acf542979845768338f3e58c814560e24ca7 Mon Sep 17 00:00:00 2001 From: gx1285 <78240988+gx1285@users.noreply.github.com> Date: Mon, 17 Oct 2022 17:12:01 +0900 Subject: [PATCH 06/35] =?UTF-8?q?fix:=20=E3=82=B3=E3=83=BC=E3=83=89?= =?UTF-8?q?=E3=83=9F=E3=82=B9=E3=82=92=E4=BF=AE=E6=AD=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- cogs/ban_member.py | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/cogs/ban_member.py b/cogs/ban_member.py index 09fcf04..684e53a 100644 --- a/cogs/ban_member.py +++ b/cogs/ban_member.py @@ -9,11 +9,14 @@ def __init__(self, bot: commands.Bot) -> None: @app_commands.command(name="ban_member", description="Banされたユーザー一覧を表示します。") async def ban_members(self, i: discord.Interaction): + m = [] try: if i.guild.channels.permissions_for(i.user) == discord.Permissions.ban_members: if i.guild.channels.permissions_for(i.guild.get_member(self.bot.user.id)) == discord.Permissions.ban_members: async for entry in guild.bans(limit=150): - print(entry.user, entry.reason) + m.append(f"{entry.user.name}, ") + send_content = "".join(m) + await i.response.send_message(send_content) else: await i.response.send_message("データを取得できませんでした(Botの権限がないなどの原因で)", ephemeral=True) else: From 3e0c998c707d47d5d511be1c0f614e681908d99c Mon Sep 17 00:00:00 2001 From: gx1285 <78240988+gx1285@users.noreply.github.com> Date: Mon, 17 Oct 2022 17:12:59 +0900 Subject: [PATCH 07/35] =?UTF-8?q?fix:=20F821=E3=82=92=E4=BF=AE=E6=AD=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- cogs/ban_member.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/cogs/ban_member.py b/cogs/ban_member.py index 684e53a..177671d 100644 --- a/cogs/ban_member.py +++ b/cogs/ban_member.py @@ -13,7 +13,7 @@ async def ban_members(self, i: discord.Interaction): try: if i.guild.channels.permissions_for(i.user) == discord.Permissions.ban_members: if i.guild.channels.permissions_for(i.guild.get_member(self.bot.user.id)) == discord.Permissions.ban_members: - async for entry in guild.bans(limit=150): + async for entry in i.guild.bans(limit=150): m.append(f"{entry.user.name}, ") send_content = "".join(m) await i.response.send_message(send_content) From 712e6ca3ff24ad5364359bc222003eb62227b5c8 Mon Sep 17 00:00:00 2001 From: gx1285 <78240988+gx1285@users.noreply.github.com> Date: Mon, 17 Oct 2022 17:14:58 +0900 Subject: [PATCH 08/35] fix: Flake8 Lint --- cogs/afk.py | 2 +- cogs/ban_member.py | 4 +--- 2 files changed, 2 insertions(+), 4 deletions(-) diff --git a/cogs/afk.py b/cogs/afk.py index f07da36..d5103ff 100644 --- a/cogs/afk.py +++ b/cogs/afk.py @@ -15,7 +15,7 @@ def afk_get(key): class afk(commands.Cog): def __init__(self, bot: commands.Bot) -> None: self.bot: commands.Bot = bot - + @app_commands.describe(reason="afkになる理由") @app_commands.command(name="afk_set", description="afkをセット又は解除します。") async def afks(self, i: discord.Interaction, reason: str): diff --git a/cogs/ban_member.py b/cogs/ban_member.py index 177671d..9952f20 100644 --- a/cogs/ban_member.py +++ b/cogs/ban_member.py @@ -6,7 +6,7 @@ class ban_member(commands.Cog): def __init__(self, bot: commands.Bot) -> None: self.bot: commands.Bot = bot - + @app_commands.command(name="ban_member", description="Banされたユーザー一覧を表示します。") async def ban_members(self, i: discord.Interaction): m = [] @@ -23,8 +23,6 @@ async def ban_members(self, i: discord.Interaction): await i.response.send_message("データを取得できませんでした(権限がないなどの原因で)", ephemeral=True) except: await i.response.send_message("データを取得できませんでした(権限がないなどの原因で)", ephemeral=True) - - async def setup(bot: commands.Bot) -> None: From 0dad2f8095bcfc515947c905fb46be781faf773e Mon Sep 17 00:00:00 2001 From: gx1285 <78240988+gx1285@users.noreply.github.com> Date: Sat, 22 Oct 2022 17:35:20 +0900 Subject: [PATCH 09/35] new: bot_invite --- cogs/bot_invite.py | 61 ++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 61 insertions(+) create mode 100644 cogs/bot_invite.py diff --git a/cogs/bot_invite.py b/cogs/bot_invite.py new file mode 100644 index 0000000..65e3b0f --- /dev/null +++ b/cogs/bot_invite.py @@ -0,0 +1,61 @@ +from discord.ext import commands +from discord import app_commands +import discord +from replit import db + +def db_set(key, data): + db[f"bot_invite_db_id_{key}"] = data + + +def db_get(key): + return db[f"bot_invite_db_id_{key}"] +class MyView(discord.ui.View): + @discord.ui.select( + placeholder = "招待するBotの権限を選択して下さい", + min_values = 1, + max_values = 1, + options = [ + discord.SelectOption( + label="管理者", + description="全ての権限を有効にしたURLを生成します。", + value="admin", + ), + discord.SelectOption( + label="権限選択式", + description="全ての権限を選択式にしたURLを生成します。", + value="all" + ), + discord.SelectOption( + label="権限なし", + description="全ての権限をなしにしたURLを生成します。", + value="none" + ), + + ] + ) + async def select_callback(self, select, i): # the function called when the user is done selecting options + bot_id = db_get(i.message.id) + d = select.values[0] + if d == "admin": + await i.response.edit_message(f"セレクトメニューをクリックしてください\n[Botを招待]({discord.utils.oauth_url(int(bot_id), permissions=discord.Permissions(permissions=discord.Permissions.administrator.flag))})") + elif d == "all": + await i.response.edit_message(f"セレクトメニューをクリックしてください\n[Botを招待]({discord.utils.oauth_url(int(bot_id), permissions=discord.Permissions(permissions=discord.Permissions.all()))})") + elif d == "none": + await i.response.edit_message(f"セレクトメニューをクリックしてください\n[Botを招待]({discord.utils.oauth_url(int(bot_id))})") + else: + await i.response.edit_message(f"不明なパラメーターが選択されました。") +class bot_invite(commands.Cog): + def __init__(self, bot: commands.Bot) -> None: + self.bot: commands.Bot = bot + + @app_commands.command(name="bot_invite", description="Botの招待リンクを生成します。") + async def botinvite(self, i: discord.Interaction, bot: discord.User=None): + if bot: + if bot.bot: + await i.response.send_message("セレクトメニューをクリックしてください") + msg = await self.bot.get_channel(i.channel.id).send(view=MyView()) + db_set(int(msg.id), int(bot.id)) + self.bot.add_view(MyView(), message_id=msg.id) + +async def setup(bot: commands.Bot) -> None: + await bot.add_cog(bot_invite(bot)) From e914a5439c15773fbf34eab8c3eb152adca6a128 Mon Sep 17 00:00:00 2001 From: gx1285 <78240988+gx1285@users.noreply.github.com> Date: Sat, 22 Oct 2022 17:36:17 +0900 Subject: [PATCH 10/35] =?UTF-8?q?change:=20=E6=96=87=E5=AD=97=E3=82=92?= =?UTF-8?q?=E5=A4=89=E3=81=88=E3=81=9F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- cogs/bot_invite.py | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/cogs/bot_invite.py b/cogs/bot_invite.py index 65e3b0f..10c9917 100644 --- a/cogs/bot_invite.py +++ b/cogs/bot_invite.py @@ -37,13 +37,13 @@ async def select_callback(self, select, i): # the function called when the user bot_id = db_get(i.message.id) d = select.values[0] if d == "admin": - await i.response.edit_message(f"セレクトメニューをクリックしてください\n[Botを招待]({discord.utils.oauth_url(int(bot_id), permissions=discord.Permissions(permissions=discord.Permissions.administrator.flag))})") + await i.response.edit_message(f"セレクトメニューをクリックして選択してください\n[Botを招待]({discord.utils.oauth_url(int(bot_id), permissions=discord.Permissions(permissions=discord.Permissions.administrator.flag))})") elif d == "all": - await i.response.edit_message(f"セレクトメニューをクリックしてください\n[Botを招待]({discord.utils.oauth_url(int(bot_id), permissions=discord.Permissions(permissions=discord.Permissions.all()))})") + await i.response.edit_message(f"セレクトメニューをクリックして選択してください\n[Botを招待]({discord.utils.oauth_url(int(bot_id), permissions=discord.Permissions(permissions=discord.Permissions.all()))})") elif d == "none": - await i.response.edit_message(f"セレクトメニューをクリックしてください\n[Botを招待]({discord.utils.oauth_url(int(bot_id))})") + await i.response.edit_message(f"セレクトメニューをクリックして選択してください\n[Botを招待]({discord.utils.oauth_url(int(bot_id))})") else: - await i.response.edit_message(f"不明なパラメーターが選択されました。") + await i.response.edit_message(f"セレクトメニューをクリックして選択してください\n不明なパラメーターが選択されました。") class bot_invite(commands.Cog): def __init__(self, bot: commands.Bot) -> None: self.bot: commands.Bot = bot @@ -52,7 +52,7 @@ def __init__(self, bot: commands.Bot) -> None: async def botinvite(self, i: discord.Interaction, bot: discord.User=None): if bot: if bot.bot: - await i.response.send_message("セレクトメニューをクリックしてください") + await i.response.send_message("セレクトメニューをクリックして選択してください") msg = await self.bot.get_channel(i.channel.id).send(view=MyView()) db_set(int(msg.id), int(bot.id)) self.bot.add_view(MyView(), message_id=msg.id) From 2d854a49deab1bf82eef1f95475e6d5401d4e9d0 Mon Sep 17 00:00:00 2001 From: gx1285 <78240988+gx1285@users.noreply.github.com> Date: Sat, 22 Oct 2022 17:51:50 +0900 Subject: [PATCH 11/35] =?UTF-8?q?fix:=20Flake8=20Lint=E3=81=AB=E5=BC=95?= =?UTF-8?q?=E3=81=A3=E3=81=8B=E3=81=8B=E3=82=89=E3=81=AA=E3=81=84=E3=82=88?= =?UTF-8?q?=E3=81=86=E3=81=AB=E3=81=97=E3=81=9F(=E4=B8=8D=E5=AE=8C?= =?UTF-8?q?=E5=85=A8)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- cogs/bot_invite.py | 19 ++++++++++++------- 1 file changed, 12 insertions(+), 7 deletions(-) diff --git a/cogs/bot_invite.py b/cogs/bot_invite.py index 10c9917..f6b76bd 100644 --- a/cogs/bot_invite.py +++ b/cogs/bot_invite.py @@ -3,18 +3,21 @@ import discord from replit import db + def db_set(key, data): db[f"bot_invite_db_id_{key}"] = data def db_get(key): return db[f"bot_invite_db_id_{key}"] + + class MyView(discord.ui.View): - @discord.ui.select( - placeholder = "招待するBotの権限を選択して下さい", - min_values = 1, - max_values = 1, - options = [ + @discord.ui.select( + placeholder="招待するBotの権限を選択して下さい", + min_values=1, + max_values=1, + options=[ discord.SelectOption( label="管理者", description="全ての権限を有効にしたURLを生成します。", @@ -33,7 +36,7 @@ class MyView(discord.ui.View): ] ) - async def select_callback(self, select, i): # the function called when the user is done selecting options + async def select_callback(self, select, i): bot_id = db_get(i.message.id) d = select.values[0] if d == "admin": @@ -43,7 +46,9 @@ async def select_callback(self, select, i): # the function called when the user elif d == "none": await i.response.edit_message(f"セレクトメニューをクリックして選択してください\n[Botを招待]({discord.utils.oauth_url(int(bot_id))})") else: - await i.response.edit_message(f"セレクトメニューをクリックして選択してください\n不明なパラメーターが選択されました。") + await i.response.edit_message("セレクトメニューをクリックして選択してください\n不明なパラメーターが選択されました。") + + class bot_invite(commands.Cog): def __init__(self, bot: commands.Bot) -> None: self.bot: commands.Bot = bot From 4684b8066bd0fdffdf6b317c722ad8af22e7f7aa Mon Sep 17 00:00:00 2001 From: gx1285 <78240988+gx1285@users.noreply.github.com> Date: Sat, 22 Oct 2022 17:53:47 +0900 Subject: [PATCH 12/35] =?UTF-8?q?fix:=20Flake8=20Lint=E3=81=AB=E5=BC=95?= =?UTF-8?q?=E3=81=A3=E3=81=8B=E3=81=8B=E3=82=89=E3=81=AA=E3=81=84=E3=82=88?= =?UTF-8?q?=E3=81=86=E3=81=AB=E3=81=97=E3=81=9F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- cogs/bot_invite.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/cogs/bot_invite.py b/cogs/bot_invite.py index f6b76bd..b2d5395 100644 --- a/cogs/bot_invite.py +++ b/cogs/bot_invite.py @@ -54,7 +54,7 @@ def __init__(self, bot: commands.Bot) -> None: self.bot: commands.Bot = bot @app_commands.command(name="bot_invite", description="Botの招待リンクを生成します。") - async def botinvite(self, i: discord.Interaction, bot: discord.User=None): + async def botinvite(self, i: discord.Interaction, bot: discord.User = None): if bot: if bot.bot: await i.response.send_message("セレクトメニューをクリックして選択してください") @@ -62,5 +62,6 @@ async def botinvite(self, i: discord.Interaction, bot: discord.User=None): db_set(int(msg.id), int(bot.id)) self.bot.add_view(MyView(), message_id=msg.id) + async def setup(bot: commands.Bot) -> None: await bot.add_cog(bot_invite(bot)) From 42d0002db34915c285950590c1b1ad6f57f19dbc Mon Sep 17 00:00:00 2001 From: gx1285 <78240988+gx1285@users.noreply.github.com> Date: Sat, 22 Oct 2022 19:33:20 +0900 Subject: [PATCH 13/35] new: role_list --- cogs/role_list.py | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) create mode 100644 cogs/role_list.py diff --git a/cogs/role_list.py b/cogs/role_list.py new file mode 100644 index 0000000..91e48f6 --- /dev/null +++ b/cogs/role_list.py @@ -0,0 +1,22 @@ +from discord.ext import commands +from discord import app_commands +import discord + + +class role_list(commands.Cog): + def __init__(self, bot: commands.Bot) -> None: + self.bot: commands.Bot = bot + + @app_commands.command(name="role_list", description="ロールのリストを送信します。") + async def rolelists(self, i: discord.Interaction): + guild = i.guild + if len(guild.roles) > 1: + role = '\n'.join([r.mention for r in guild.roles][1:]) + embed = discord.Embed(title="ロール一覧", description=f"{role}") + await i.response.send_message(embed=embed) + else: + await i.response.send_message('ロールが見つかりませんでした。') + + +async def setup(bot: commands.Bot) -> None: + await bot.add_cog(bot_invite(bot)) From 4d7f79193e7986466c4f1bc2e5b5dab7a03affd3 Mon Sep 17 00:00:00 2001 From: gx1285 <78240988+gx1285@users.noreply.github.com> Date: Sat, 22 Oct 2022 19:36:22 +0900 Subject: [PATCH 14/35] =?UTF-8?q?fix:=20class=E5=90=8D=E3=82=92=E5=A4=89?= =?UTF-8?q?=E6=9B=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- cogs/role_list.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/cogs/role_list.py b/cogs/role_list.py index 91e48f6..4e42275 100644 --- a/cogs/role_list.py +++ b/cogs/role_list.py @@ -19,4 +19,4 @@ async def rolelists(self, i: discord.Interaction): async def setup(bot: commands.Bot) -> None: - await bot.add_cog(bot_invite(bot)) + await bot.add_cog(role_list(bot)) From b89e9f2778a306659b550c83c03d9b5541f12cea Mon Sep 17 00:00:00 2001 From: gx1285 <78240988+gx1285@users.noreply.github.com> Date: Sat, 22 Oct 2022 19:45:18 +0900 Subject: [PATCH 15/35] new: voicetext --- cogs/voicetext.py | 28 ++++++++++++++++++++++++++++ voice/voice.mp3 | 0 2 files changed, 28 insertions(+) create mode 100644 cogs/voicetext.py create mode 100644 voice/voice.mp3 diff --git a/cogs/voicetext.py b/cogs/voicetext.py new file mode 100644 index 0000000..957444e --- /dev/null +++ b/cogs/voicetext.py @@ -0,0 +1,28 @@ +from discord.ext import commands +from discord import app_commands +import discord +import requests #Todo: aiohttpを使うようにする + + +class voice_text(commands.Cog): + def __init__(self, bot: commands.Bot) -> None: + self.bot: commands.Bot = bot + + def voicesave(text): + url = f"https://www.google.com/speech-api/v1/synthesize?text={voice}&nc=mpeg&lang=ja&speed=0.5&client=lr-language-tts" + randomstring = "".join( + random.choices(string.ascii_letters + string.digits, k=10)) + name = "../voice/" + randomstring + ".mp3" + response = requests.get(url, timeout=100) + with open(name, "wb") as file: + file.write(response.content) + + @app_commands.describe(text="喋らせるテキスト") + @app_commands.command(name="voice_text", description="googleの声が出力できます。") + async def rolelists(self, i: discord.Interaction, text: str): + save = voicesave(text) + await i.response.send_message(file=discord.File(save)) + + +async def setup(bot: commands.Bot) -> None: + await bot.add_cog(voice_text(bot)) diff --git a/voice/voice.mp3 b/voice/voice.mp3 new file mode 100644 index 0000000..e69de29 From a240b27c57a3a846ea9015e4a15fca7fdad73bc1 Mon Sep 17 00:00:00 2001 From: gx1285 <78240988+gx1285@users.noreply.github.com> Date: Sat, 22 Oct 2022 19:47:40 +0900 Subject: [PATCH 16/35] =?UTF-8?q?new:=20=E5=87=A6=E7=90=86=E3=82=92?= =?UTF-8?q?=E8=BF=BD=E5=8A=A0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- cogs/bot_invite.py | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/cogs/bot_invite.py b/cogs/bot_invite.py index b2d5395..f2dbebb 100644 --- a/cogs/bot_invite.py +++ b/cogs/bot_invite.py @@ -53,6 +53,7 @@ class bot_invite(commands.Cog): def __init__(self, bot: commands.Bot) -> None: self.bot: commands.Bot = bot + @app_commands.describe(bot="招待するBot") @app_commands.command(name="bot_invite", description="Botの招待リンクを生成します。") async def botinvite(self, i: discord.Interaction, bot: discord.User = None): if bot: @@ -61,6 +62,14 @@ async def botinvite(self, i: discord.Interaction, bot: discord.User = None): msg = await self.bot.get_channel(i.channel.id).send(view=MyView()) db_set(int(msg.id), int(bot.id)) self.bot.add_view(MyView(), message_id=msg.id) + else: + await i.response.send_message("指定したものはBotではありません。") + else: + await i.response.send_message("セレクトメニューをクリックして選択してください") + msg = await self.bot.get_channel(i.channel.id).send(view=MyView()) + db_set(int(msg.id), int(self.bot.id)) + self.bot.add_view(MyView(), message_id=msg.id) + async def setup(bot: commands.Bot) -> None: From 3b60bb887de726657619b83451b77745c661747b Mon Sep 17 00:00:00 2001 From: gx1285 <78240988+gx1285@users.noreply.github.com> Date: Sat, 22 Oct 2022 19:48:59 +0900 Subject: [PATCH 17/35] fix: Flask8 Lint --- cogs/voicetext.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/cogs/voicetext.py b/cogs/voicetext.py index 957444e..3cd7b7e 100644 --- a/cogs/voicetext.py +++ b/cogs/voicetext.py @@ -1,6 +1,7 @@ from discord.ext import commands from discord import app_commands import discord +import string import requests #Todo: aiohttpを使うようにする @@ -9,7 +10,7 @@ def __init__(self, bot: commands.Bot) -> None: self.bot: commands.Bot = bot def voicesave(text): - url = f"https://www.google.com/speech-api/v1/synthesize?text={voice}&nc=mpeg&lang=ja&speed=0.5&client=lr-language-tts" + url = f"https://www.google.com/speech-api/v1/synthesize?text={text}&nc=mpeg&lang=ja&speed=0.5&client=lr-language-tts" randomstring = "".join( random.choices(string.ascii_letters + string.digits, k=10)) name = "../voice/" + randomstring + ".mp3" From 92b51f92df2757d67ba4265d2044b8f03038476c Mon Sep 17 00:00:00 2001 From: gx1285 <78240988+gx1285@users.noreply.github.com> Date: Sat, 22 Oct 2022 19:50:19 +0900 Subject: [PATCH 18/35] =?UTF-8?q?fix:=20import=E3=81=97=E5=BF=98=E3=82=8C?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- cogs/voicetext.py | 1 + 1 file changed, 1 insertion(+) diff --git a/cogs/voicetext.py b/cogs/voicetext.py index 3cd7b7e..6d71ccd 100644 --- a/cogs/voicetext.py +++ b/cogs/voicetext.py @@ -2,6 +2,7 @@ from discord import app_commands import discord import string +import random import requests #Todo: aiohttpを使うようにする From 42cd88188f0dec91cd76c55736bef6fd7ab69138 Mon Sep 17 00:00:00 2001 From: gx1285 <78240988+gx1285@users.noreply.github.com> Date: Sat, 22 Oct 2022 20:00:55 +0900 Subject: [PATCH 19/35] =?UTF-8?q?=E3=81=84=E3=82=8D=E3=81=84=E3=82=8D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- cogs/ping.py | 16 ++++++++++++++++ cogs/voicetext.py | 2 +- 2 files changed, 17 insertions(+), 1 deletion(-) create mode 100644 cogs/ping.py diff --git a/cogs/ping.py b/cogs/ping.py new file mode 100644 index 0000000..8ff118c --- /dev/null +++ b/cogs/ping.py @@ -0,0 +1,16 @@ +from discord.ext import commands +from discord import app_commands +import discord + + +class ping(commands.Cog): + def __init__(self, bot: commands.Bot) -> None: + self.bot: commands.Bot = bot + + @app_commands.command(name="ping", description="ping値を測定します。") + async def pingpong(self, i: discord.Interaction): + await i.response.send_message(f'{round(self.bot.latency * 1000)}ms') + + +async def setup(bot: commands.Bot) -> None: + await bot.add_cog(ping(bot)) diff --git a/cogs/voicetext.py b/cogs/voicetext.py index 6d71ccd..9fe11fe 100644 --- a/cogs/voicetext.py +++ b/cogs/voicetext.py @@ -21,7 +21,7 @@ def voicesave(text): @app_commands.describe(text="喋らせるテキスト") @app_commands.command(name="voice_text", description="googleの声が出力できます。") - async def rolelists(self, i: discord.Interaction, text: str): + async def voice(self, i: discord.Interaction, text: str): save = voicesave(text) await i.response.send_message(file=discord.File(save)) From f2f7b33f3db44c6914fb37594bdd979180108c58 Mon Sep 17 00:00:00 2001 From: gx1285 <78240988+gx1285@users.noreply.github.com> Date: Sat, 22 Oct 2022 20:02:22 +0900 Subject: [PATCH 20/35] fix --- cogs/voicetext.py | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/cogs/voicetext.py b/cogs/voicetext.py index 9fe11fe..ff1830b 100644 --- a/cogs/voicetext.py +++ b/cogs/voicetext.py @@ -6,11 +6,7 @@ import requests #Todo: aiohttpを使うようにする -class voice_text(commands.Cog): - def __init__(self, bot: commands.Bot) -> None: - self.bot: commands.Bot = bot - - def voicesave(text): +def voicesave(text): url = f"https://www.google.com/speech-api/v1/synthesize?text={text}&nc=mpeg&lang=ja&speed=0.5&client=lr-language-tts" randomstring = "".join( random.choices(string.ascii_letters + string.digits, k=10)) @@ -19,6 +15,11 @@ def voicesave(text): with open(name, "wb") as file: file.write(response.content) + +class voice_text(commands.Cog): + def __init__(self, bot: commands.Bot) -> None: + self.bot: commands.Bot = bot + @app_commands.describe(text="喋らせるテキスト") @app_commands.command(name="voice_text", description="googleの声が出力できます。") async def voice(self, i: discord.Interaction, text: str): From 1c7fa9e995034a71a63af0c0d7af646289e52477 Mon Sep 17 00:00:00 2001 From: gx1285 <78240988+gx1285@users.noreply.github.com> Date: Sat, 22 Oct 2022 20:07:04 +0900 Subject: [PATCH 21/35] fix --- cogs/bot_invite.py | 9 ++++----- cogs/voicetext.py | 16 ++++++++-------- 2 files changed, 12 insertions(+), 13 deletions(-) diff --git a/cogs/bot_invite.py b/cogs/bot_invite.py index f2dbebb..a70b5e8 100644 --- a/cogs/bot_invite.py +++ b/cogs/bot_invite.py @@ -65,11 +65,10 @@ async def botinvite(self, i: discord.Interaction, bot: discord.User = None): else: await i.response.send_message("指定したものはBotではありません。") else: - await i.response.send_message("セレクトメニューをクリックして選択してください") - msg = await self.bot.get_channel(i.channel.id).send(view=MyView()) - db_set(int(msg.id), int(self.bot.id)) - self.bot.add_view(MyView(), message_id=msg.id) - + await i.response.send_message("セレクトメニューをクリックして選択してください") + msg = await self.bot.get_channel(i.channel.id).send(view=MyView()) + db_set(int(msg.id), int(self.bot.id)) + self.bot.add_view(MyView(), message_id=msg.id) async def setup(bot: commands.Bot) -> None: diff --git a/cogs/voicetext.py b/cogs/voicetext.py index ff1830b..c88b8bb 100644 --- a/cogs/voicetext.py +++ b/cogs/voicetext.py @@ -3,17 +3,17 @@ import discord import string import random -import requests #Todo: aiohttpを使うようにする +import requests +# Todo: aiohttpを使うようにする def voicesave(text): - url = f"https://www.google.com/speech-api/v1/synthesize?text={text}&nc=mpeg&lang=ja&speed=0.5&client=lr-language-tts" - randomstring = "".join( - random.choices(string.ascii_letters + string.digits, k=10)) - name = "../voice/" + randomstring + ".mp3" - response = requests.get(url, timeout=100) - with open(name, "wb") as file: - file.write(response.content) + url = f"https://www.google.com/speech-api/v1/synthesize?text={text}&nc=mpeg&lang=ja&speed=0.5&client=lr-language-tts" + randomstring = "".join(random.choices(string.ascii_letters + string.digits, k=10)) + name = "../voice/" + randomstring + ".mp3" + response = requests.get(url, timeout=100) + with open(name, "wb") as file: + file.write(response.content) class voice_text(commands.Cog): From 8b4e2cc65f8d8cef95958ee7920a929c36b49b50 Mon Sep 17 00:00:00 2001 From: gx1285 <78240988+gx1285@users.noreply.github.com> Date: Sat, 22 Oct 2022 20:14:22 +0900 Subject: [PATCH 22/35] new --- cogs/uptime.py | 16 ++++++++++++++++ main.py | 3 +++ 2 files changed, 19 insertions(+) create mode 100644 cogs/uptime.py diff --git a/cogs/uptime.py b/cogs/uptime.py new file mode 100644 index 0000000..78d34c5 --- /dev/null +++ b/cogs/uptime.py @@ -0,0 +1,16 @@ +from discord.ext import commands +from discord import app_commands +import discord + + +class uptime(commands.Cog): + def __init__(self, bot: commands.Bot) -> None: + self.bot: commands.Bot = bot + + @app_commands.command(name="up_time", description="Botの起動時間を送信します。") + async def uptime(self, i: discord.Interaction): + await i.response.send_message(f'') + + +async def setup(bot: commands.Bot) -> None: + await bot.add_cog(uptime(bot)) diff --git a/main.py b/main.py index 8dcbb00..2a14ad9 100644 --- a/main.py +++ b/main.py @@ -11,10 +11,12 @@ from discord.ext import commands, tasks from os import listdir, getenv from webserver import keep_alive +from datetime import datetime class EightBot(commands.Bot): async def setup_hook(self): + self.kidou = 0 await keep_alive() for name in listdir("cogs"): if not name.startswith(("_", ".")): @@ -50,6 +52,7 @@ async def status_swap(cycle_d): @bot.listen(name="on_ready") async def bot_ready(): + bot.kidou = int(datetime.now().timestamp()) print("login.") await status_swap.start( cycle( From 1ebf903f891bf0ca9fed31a428feae468ad2e031 Mon Sep 17 00:00:00 2001 From: gx1285 <78240988+gx1285@users.noreply.github.com> Date: Thu, 27 Oct 2022 06:56:19 +0900 Subject: [PATCH 23/35] change --- cogs/verify.py | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/cogs/verify.py b/cogs/verify.py index 9243341..e4825dc 100644 --- a/cogs/verify.py +++ b/cogs/verify.py @@ -29,9 +29,7 @@ def __init__(self, bot: commands.Bot) -> None: @commands.Cog.listener(name='on_interaction') async def verify_interaction_callback(self, i: discord.Interaction): try: - get = json.dumps(i.data) - json_get = json.loads(get) - if json_get["custom_id"] == "verify_type_1": + if i.data.get('custom_id') == "verify_type_1": data = verify_db_get(int(i.message.id)) await i.guild.get_member(i.user.id).add_roles( i.guild.get_role(int(data["role_id"])) From ca8c63bfba2867ce0f359a520b517904c77c0e5a Mon Sep 17 00:00:00 2001 From: gx1285 <78240988+gx1285@users.noreply.github.com> Date: Thu, 27 Oct 2022 21:26:35 +0900 Subject: [PATCH 24/35] =?UTF-8?q?try=E3=82=92=E6=B6=88=E3=81=97=E3=81=9F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- cogs/verify.py | 15 +++++++-------- 1 file changed, 7 insertions(+), 8 deletions(-) diff --git a/cogs/verify.py b/cogs/verify.py index e4825dc..a8cd537 100644 --- a/cogs/verify.py +++ b/cogs/verify.py @@ -28,15 +28,14 @@ def __init__(self, bot: commands.Bot) -> None: @commands.Cog.listener(name='on_interaction') async def verify_interaction_callback(self, i: discord.Interaction): - try: - if i.data.get('custom_id') == "verify_type_1": - data = verify_db_get(int(i.message.id)) - await i.guild.get_member(i.user.id).add_roles( + if i.data.get('custom_id') == "verify_type_1": + data = verify_db_get(int(i.message.id)) + await i.guild.get_member(i.user.id).add_roles( i.guild.get_role(int(data["role_id"])) - ) - await i.response.send_message("ロールを付与しました。", ephemeral=True) - except KeyError: - pass + ) + await i.response.send_message("ロールを付与しました。", ephemeral=True) + else: + return @app_commands.describe(name="パネルの名前", description="パネルの説明", role="付与するロール") @app_commands.command( From ee75ec202134b0cb1b5f59e905840a01af2ef6bb Mon Sep 17 00:00:00 2001 From: gx1285 <78240988+gx1285@users.noreply.github.com> Date: Fri, 28 Oct 2022 18:37:11 +0900 Subject: [PATCH 25/35] =?UTF-8?q?change:=20Intents=E3=82=92=E5=A4=89?= =?UTF-8?q?=E3=81=88=E3=81=9F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- main.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/main.py b/main.py index 2a14ad9..437464a 100644 --- a/main.py +++ b/main.py @@ -29,7 +29,7 @@ async def setup_hook(self): bot = EightBot( command_prefix="eg!", - intents=Intents.all(), + intents=Intents(auto_moderation=False, typing=False, message_content=False), activity=Activity( type=ActivityType.watching, name="起動準備をしています...", From e7386e03776ce2d33cce843c8709e47bdbcfa185 Mon Sep 17 00:00:00 2001 From: gx1285 <78240988+gx1285@users.noreply.github.com> Date: Fri, 28 Oct 2022 18:37:37 +0900 Subject: [PATCH 26/35] =?UTF-8?q?fix:=20message=5Fcontent=E3=81=AFjishaku?= =?UTF-8?q?=E3=81=A7=E4=BD=BF=E3=81=86=E3=81=AE=E3=82=92=E5=BF=98=E3=82=8C?= =?UTF-8?q?=E3=81=A6=E3=81=84=E3=81=9F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- main.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/main.py b/main.py index 437464a..31deffa 100644 --- a/main.py +++ b/main.py @@ -29,7 +29,7 @@ async def setup_hook(self): bot = EightBot( command_prefix="eg!", - intents=Intents(auto_moderation=False, typing=False, message_content=False), + intents=Intents(auto_moderation=False, typing=False, message_content=True), activity=Activity( type=ActivityType.watching, name="起動準備をしています...", From 01dc47ecb469b8da88f24cd00db2187879ed008e Mon Sep 17 00:00:00 2001 From: gx1285 <78240988+gx1285@users.noreply.github.com> Date: Fri, 28 Oct 2022 18:37:47 +0900 Subject: [PATCH 27/35] delete: message_content --- main.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/main.py b/main.py index 31deffa..25dae65 100644 --- a/main.py +++ b/main.py @@ -29,7 +29,7 @@ async def setup_hook(self): bot = EightBot( command_prefix="eg!", - intents=Intents(auto_moderation=False, typing=False, message_content=True), + intents=Intents(auto_moderation=False, typing=False), activity=Activity( type=ActivityType.watching, name="起動準備をしています...", From 5afbf8158c02d8f132d3aa47b7c59a648132d953 Mon Sep 17 00:00:00 2001 From: gx1285 <78240988+gx1285@users.noreply.github.com> Date: Sat, 29 Oct 2022 18:08:09 +0900 Subject: [PATCH 28/35] =?UTF-8?q?new:=20=E6=9C=AA=E5=AE=8C=E6=88=90?= =?UTF-8?q?=E6=A9=9F=E8=83=BDrole=5Fall?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- cogs/role_all.py | 46 ++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 46 insertions(+) create mode 100644 cogs/role_all.py diff --git a/cogs/role_all.py b/cogs/role_all.py new file mode 100644 index 0000000..b0d51a8 --- /dev/null +++ b/cogs/role_all.py @@ -0,0 +1,46 @@ +from discord.ext import commands +from discord import app_commands +import discord + + +class bot(enum.Enum): + はい = True + いいえ = False + +class role_list(commands.Cog): + def __init__(self, bot: commands.Bot) -> None: + self.bot: commands.Bot = bot + + @app_commands.describe(bot='Botにもロールを付与する?') + @app_commands.choices(bot=[ + app_commands.Choice(name='はい', value=True), + app_commands.Choice(name='いいえ', value=False), + ]) + @app_commands.command(name="role_all_add", description="全メンバーにロールを付与します。") + async def role_all_add(self, i: discord.Interaction, role: discord.Role, bot: bool): + if bot: + for member in ctx.guild.members: + await member.add_roles(role) + elif not bot: + for member in ctx.guild.members: + if not member.bot: + await member.add_roles(role) + + @app_commands.describe(bot='Botのロールも除去する?') + @app_commands.choices(bot=[ + app_commands.Choice(name='はい', value=True), + app_commands.Choice(name='いいえ', value=False), + ]) + @app_commands.command(name="role_all_add", description="全員からロールを除去します。") + async def role_all_add(self, i: discord.Interaction, role: discord.Role, bot: bool): + if bot: + for member in ctx.guild.members: + await member.remove_roles(role) + elif not bot: + for member in ctx.guild.members: + if not member.bot: + await member.remove_roles(role) + + +async def setup(bot: commands.Bot) -> None: + await bot.add_cog(role_list(bot)) From b293948eb78afcbd57ef23e32e57f0fa74ba818f Mon Sep 17 00:00:00 2001 From: gx1285 <78240988+gx1285@users.noreply.github.com> Date: Sat, 29 Oct 2022 18:09:25 +0900 Subject: [PATCH 29/35] fix: remove --- cogs/role_all.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/cogs/role_all.py b/cogs/role_all.py index b0d51a8..f111e9e 100644 --- a/cogs/role_all.py +++ b/cogs/role_all.py @@ -31,7 +31,7 @@ async def role_all_add(self, i: discord.Interaction, role: discord.Role, bot: bo app_commands.Choice(name='はい', value=True), app_commands.Choice(name='いいえ', value=False), ]) - @app_commands.command(name="role_all_add", description="全員からロールを除去します。") + @app_commands.command(name="role_all_remove", description="全員からロールを除去します。") async def role_all_add(self, i: discord.Interaction, role: discord.Role, bot: bool): if bot: for member in ctx.guild.members: From 61a1eddd117f8d558ab8e136273549ebe8cf979d Mon Sep 17 00:00:00 2001 From: gx1285 <78240988+gx1285@users.noreply.github.com> Date: Sat, 29 Oct 2022 18:14:07 +0900 Subject: [PATCH 30/35] change: ctx => i --- cogs/role_all.py | 9 +++++---- cogs/trans.py | 42 ++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 47 insertions(+), 4 deletions(-) create mode 100644 cogs/trans.py diff --git a/cogs/role_all.py b/cogs/role_all.py index f111e9e..34f0a1f 100644 --- a/cogs/role_all.py +++ b/cogs/role_all.py @@ -1,6 +1,7 @@ from discord.ext import commands from discord import app_commands import discord +import enum class bot(enum.Enum): @@ -19,10 +20,10 @@ def __init__(self, bot: commands.Bot) -> None: @app_commands.command(name="role_all_add", description="全メンバーにロールを付与します。") async def role_all_add(self, i: discord.Interaction, role: discord.Role, bot: bool): if bot: - for member in ctx.guild.members: + for member in i.guild.members: await member.add_roles(role) elif not bot: - for member in ctx.guild.members: + for member in i.guild.members: if not member.bot: await member.add_roles(role) @@ -34,10 +35,10 @@ async def role_all_add(self, i: discord.Interaction, role: discord.Role, bot: bo @app_commands.command(name="role_all_remove", description="全員からロールを除去します。") async def role_all_add(self, i: discord.Interaction, role: discord.Role, bot: bool): if bot: - for member in ctx.guild.members: + for member in i.guild.members: await member.remove_roles(role) elif not bot: - for member in ctx.guild.members: + for member in i.guild.members: if not member.bot: await member.remove_roles(role) diff --git a/cogs/trans.py b/cogs/trans.py new file mode 100644 index 0000000..61f08b8 --- /dev/null +++ b/cogs/trans.py @@ -0,0 +1,42 @@ +from discord.ext import commands +from discord import app_commands +import discord + + +class role_list(commands.Cog): + def __init__(self, bot: commands.Bot) -> None: + self.bot: commands.Bot = bot + + @app_commands.describe(bot='Botにもロールを付与する?') + @app_commands.choices(bot=[ + app_commands.Choice(name='はい', value=True), + app_commands.Choice(name='いいえ', value=False), + ]) + @app_commands.command(name="role_all_add", description="全メンバーにロールを付与します。") + async def role_all_add(self, i: discord.Interaction, role: discord.Role, bot: bool): + if bot: + for member in ctx.guild.members: + await member.add_roles(role) + elif not bot: + for member in ctx.guild.members: + if not member.bot: + await member.add_roles(role) + + @app_commands.describe(bot='Botのロールも除去する?') + @app_commands.choices(bot=[ + app_commands.Choice(name='はい', value=True), + app_commands.Choice(name='いいえ', value=False), + ]) + @app_commands.command(name="role_all_remove", description="全員からロールを除去します。") + async def role_all_add(self, i: discord.Interaction, role: discord.Role, bot: bool): + if bot: + for member in ctx.guild.members: + await member.remove_roles(role) + elif not bot: + for member in ctx.guild.members: + if not member.bot: + await member.remove_roles(role) + + +async def setup(bot: commands.Bot) -> None: + await bot.add_cog(role_list(bot)) From 38745db2d3e0d5afacda1f7c7e9ad618ba5a328f Mon Sep 17 00:00:00 2001 From: gx1285 <78240988+gx1285@users.noreply.github.com> Date: Sat, 29 Oct 2022 18:34:10 +0900 Subject: [PATCH 31/35] =?UTF-8?q?=E8=BF=BD=E5=8A=A0=E3=81=AA=E3=81=A9?= =?UTF-8?q?=E3=82=92=E3=81=97=E3=81=9F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- cogs/role_all.py | 4 ++-- cogs/trans.py | 52 +++++++++++++++++++----------------------------- 2 files changed, 23 insertions(+), 33 deletions(-) diff --git a/cogs/role_all.py b/cogs/role_all.py index 34f0a1f..afd8627 100644 --- a/cogs/role_all.py +++ b/cogs/role_all.py @@ -8,7 +8,7 @@ class bot(enum.Enum): はい = True いいえ = False -class role_list(commands.Cog): +class roleall(commands.Cog): def __init__(self, bot: commands.Bot) -> None: self.bot: commands.Bot = bot @@ -44,4 +44,4 @@ async def role_all_add(self, i: discord.Interaction, role: discord.Role, bot: bo async def setup(bot: commands.Bot) -> None: - await bot.add_cog(role_list(bot)) + await bot.add_cog(roleall(bot)) diff --git a/cogs/trans.py b/cogs/trans.py index 61f08b8..2065b3c 100644 --- a/cogs/trans.py +++ b/cogs/trans.py @@ -1,42 +1,32 @@ from discord.ext import commands from discord import app_commands import discord +import async_google_trans_new +import cld3 -class role_list(commands.Cog): +class trans_kinou(commands.Cog): def __init__(self, bot: commands.Bot) -> None: self.bot: commands.Bot = bot - @app_commands.describe(bot='Botにもロールを付与する?') - @app_commands.choices(bot=[ - app_commands.Choice(name='はい', value=True), - app_commands.Choice(name='いいえ', value=False), - ]) - @app_commands.command(name="role_all_add", description="全メンバーにロールを付与します。") - async def role_all_add(self, i: discord.Interaction, role: discord.Role, bot: bool): - if bot: - for member in ctx.guild.members: - await member.add_roles(role) - elif not bot: - for member in ctx.guild.members: - if not member.bot: - await member.add_roles(role) - - @app_commands.describe(bot='Botのロールも除去する?') - @app_commands.choices(bot=[ - app_commands.Choice(name='はい', value=True), - app_commands.Choice(name='いいえ', value=False), - ]) - @app_commands.command(name="role_all_remove", description="全員からロールを除去します。") - async def role_all_add(self, i: discord.Interaction, role: discord.Role, bot: bool): - if bot: - for member in ctx.guild.members: - await member.remove_roles(role) - elif not bot: - for member in ctx.guild.members: - if not member.bot: - await member.remove_roles(role) + @app_commands.context_menu() + async def trans(i: discord.Interaction, message: discord.Message): + cld3_languages = cld3.get_frequent_languages( + message.content, + num_langs=3, + ) + a = 0 + language_list = [] + for l in cld3_languages: + a = a + 1 + if a == 2: + continue + else: + language_list.append(l[0]) + g = async_google_trans_new.AsyncTranslator() + trans_d = await g.translate(message.content, str(language_list[0])) + await interaction.response.send_message(f'[元メッセージ](https://discord.com/channels/{message.guild.id}/{message.channel.id}/{message.id})', embed=discord.Embed(title='翻訳結果', description=str(trans_d))) async def setup(bot: commands.Bot) -> None: - await bot.add_cog(role_list(bot)) + await bot.add_cog(trans_kinou(bot)) From 45be88a616ba9d7338e972339f9a041646f23c68 Mon Sep 17 00:00:00 2001 From: gx1285 <78240988+gx1285@users.noreply.github.com> Date: Sat, 29 Oct 2022 18:39:51 +0900 Subject: [PATCH 32/35] lang --- cogs/trans.py | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/cogs/trans.py b/cogs/trans.py index 2065b3c..ea12a56 100644 --- a/cogs/trans.py +++ b/cogs/trans.py @@ -23,8 +23,13 @@ async def trans(i: discord.Interaction, message: discord.Message): continue else: language_list.append(l[0]) + lang = "en" + if str(language_list[0]) == "ja": + lang = "en" + else: + lang = "ja" g = async_google_trans_new.AsyncTranslator() - trans_d = await g.translate(message.content, str(language_list[0])) + trans_d = await g.translate(message.content, lang) await interaction.response.send_message(f'[元メッセージ](https://discord.com/channels/{message.guild.id}/{message.channel.id}/{message.id})', embed=discord.Embed(title='翻訳結果', description=str(trans_d))) From 9bc5275c0f708e1667a1cc51c8b091d685ef3d29 Mon Sep 17 00:00:00 2001 From: gx1285 <78240988+gx1285@users.noreply.github.com> Date: Sat, 29 Oct 2022 19:13:24 +0900 Subject: [PATCH 33/35] new: trans --- cogs/trans.py | 50 +++++++++++++++++++++++++++----------------------- 1 file changed, 27 insertions(+), 23 deletions(-) diff --git a/cogs/trans.py b/cogs/trans.py index ea12a56..5744793 100644 --- a/cogs/trans.py +++ b/cogs/trans.py @@ -2,36 +2,40 @@ from discord import app_commands import discord import async_google_trans_new -import cld3 class trans_kinou(commands.Cog): def __init__(self, bot: commands.Bot) -> None: self.bot: commands.Bot = bot - @app_commands.context_menu() - async def trans(i: discord.Interaction, message: discord.Message): - cld3_languages = cld3.get_frequent_languages( - message.content, - num_langs=3, - ) - a = 0 - language_list = [] - for l in cld3_languages: - a = a + 1 - if a == 2: - continue - else: - language_list.append(l[0]) - lang = "en" - if str(language_list[0]) == "ja": - lang = "en" - else: - lang = "ja" + @app_commands.describe(text='翻訳するテキスト', lang="翻訳をする言語") + @app_commands.choices(lang=[ + app_commands.Choice(name='アルメニア語', value='hy'), + app_commands.Choice(name='中国語(簡体)', value='zh'), + app_commands.Choice(name='オランダ語', value='nl'), + app_commands.Choice(name='英語', value='en'), + app_commands.Choice(name='エスペラント語', value='eo'), + app_commands.Choice(name='フランス語', value='fr'), + app_commands.Choice(name='グルジア語', value='ka'), + app_commands.Choice(name='ドイツ語', value='de'), + app_commands.Choice(name='ギリシャ語', value='el'), + app_commands.Choice(name='イタリア語', value='it'), + app_commands.Choice(name='日本語', value='ja'), + app_commands.Choice(name='韓国語', value='ko'), + app_commands.Choice(name='クルド語', value='ku'), + app_commands.Choice(name='ペルシャ語', value='fa'), + app_commands.Choice(name='ポーランド語', value='pl'), + app_commands.Choice(name='ポルトガル語(ポルトガル、ブラジル)', value='pt'), + app_commands.Choice(name='ルーマニア語', value='ro'), + app_commands.Choice(name='スペイン語', value='es'), + app_commands.Choice(name='スウェーデン語', value='sv'), + app_commands.Choice(name='トルコ語', value='tr'), + app_commands.Choice(name='ウルドゥー語', value='ur'), + ]) + @app_commands.command(name="google_trans", description="全メンバーにロールを付与します。") + async def trans_cmd(self, i: discord.Interaction, lang: str, text: str): g = async_google_trans_new.AsyncTranslator() - trans_d = await g.translate(message.content, lang) - await interaction.response.send_message(f'[元メッセージ](https://discord.com/channels/{message.guild.id}/{message.channel.id}/{message.id})', embed=discord.Embed(title='翻訳結果', description=str(trans_d))) - + await i.response.send_message(content=await g.translate(text, lang)) async def setup(bot: commands.Bot) -> None: await bot.add_cog(trans_kinou(bot)) From 0fefea1605f32fbcb28d17c1f9a84a7d0923588e Mon Sep 17 00:00:00 2001 From: gx1285 <78240988+gx1285@users.noreply.github.com> Date: Sat, 29 Oct 2022 19:16:17 +0900 Subject: [PATCH 34/35] fix description --- cogs/trans.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/cogs/trans.py b/cogs/trans.py index 5744793..673d7da 100644 --- a/cogs/trans.py +++ b/cogs/trans.py @@ -32,7 +32,7 @@ def __init__(self, bot: commands.Bot) -> None: app_commands.Choice(name='トルコ語', value='tr'), app_commands.Choice(name='ウルドゥー語', value='ur'), ]) - @app_commands.command(name="google_trans", description="全メンバーにロールを付与します。") + @app_commands.command(name="google_trans", description="Google翻訳をします。") async def trans_cmd(self, i: discord.Interaction, lang: str, text: str): g = async_google_trans_new.AsyncTranslator() await i.response.send_message(content=await g.translate(text, lang)) From 9c6a560995b4b65a6b76ac4e97bc5ba5abcdf10c Mon Sep 17 00:00:00 2001 From: gx1285 <78240988+gx1285@users.noreply.github.com> Date: Sat, 29 Oct 2022 20:42:37 +0900 Subject: [PATCH 35/35] fix --- cogs/role_all.py | 9 +++++---- cogs/trans.py | 3 ++- cogs/verify.py | 3 +-- 3 files changed, 8 insertions(+), 7 deletions(-) diff --git a/cogs/role_all.py b/cogs/role_all.py index afd8627..f215fd1 100644 --- a/cogs/role_all.py +++ b/cogs/role_all.py @@ -8,17 +8,18 @@ class bot(enum.Enum): はい = True いいえ = False + class roleall(commands.Cog): def __init__(self, bot: commands.Bot) -> None: self.bot: commands.Bot = bot - + @app_commands.describe(bot='Botにもロールを付与する?') @app_commands.choices(bot=[ app_commands.Choice(name='はい', value=True), app_commands.Choice(name='いいえ', value=False), ]) @app_commands.command(name="role_all_add", description="全メンバーにロールを付与します。") - async def role_all_add(self, i: discord.Interaction, role: discord.Role, bot: bool): + async def roleall_add(self, i: discord.Interaction, role: discord.Role, bot: bool): if bot: for member in i.guild.members: await member.add_roles(role) @@ -26,14 +27,14 @@ async def role_all_add(self, i: discord.Interaction, role: discord.Role, bot: bo for member in i.guild.members: if not member.bot: await member.add_roles(role) - + @app_commands.describe(bot='Botのロールも除去する?') @app_commands.choices(bot=[ app_commands.Choice(name='はい', value=True), app_commands.Choice(name='いいえ', value=False), ]) @app_commands.command(name="role_all_remove", description="全員からロールを除去します。") - async def role_all_add(self, i: discord.Interaction, role: discord.Role, bot: bool): + async def roleall_remove(self, i: discord.Interaction, role: discord.Role, bot: bool): if bot: for member in i.guild.members: await member.remove_roles(role) diff --git a/cogs/trans.py b/cogs/trans.py index 673d7da..79abb3d 100644 --- a/cogs/trans.py +++ b/cogs/trans.py @@ -7,7 +7,7 @@ class trans_kinou(commands.Cog): def __init__(self, bot: commands.Bot) -> None: self.bot: commands.Bot = bot - + @app_commands.describe(text='翻訳するテキスト', lang="翻訳をする言語") @app_commands.choices(lang=[ app_commands.Choice(name='アルメニア語', value='hy'), @@ -37,5 +37,6 @@ async def trans_cmd(self, i: discord.Interaction, lang: str, text: str): g = async_google_trans_new.AsyncTranslator() await i.response.send_message(content=await g.translate(text, lang)) + async def setup(bot: commands.Bot) -> None: await bot.add_cog(trans_kinou(bot)) diff --git a/cogs/verify.py b/cogs/verify.py index a8cd537..2597236 100644 --- a/cogs/verify.py +++ b/cogs/verify.py @@ -2,7 +2,6 @@ from discord.ext import commands from discord import app_commands from replit import db -import json def verify_db(key, data): @@ -31,7 +30,7 @@ async def verify_interaction_callback(self, i: discord.Interaction): if i.data.get('custom_id') == "verify_type_1": data = verify_db_get(int(i.message.id)) await i.guild.get_member(i.user.id).add_roles( - i.guild.get_role(int(data["role_id"])) + i.guild.get_role(int(data["role_id"])) ) await i.response.send_message("ロールを付与しました。", ephemeral=True) else: