🤖 ディスコロボット開発ログ-2


📚 メールの削除、検証


削除機能が追加され、ロボットによってチャットルームの情報を効率的に削除できます.
最初はこのようにコードを記述した.
# 권한을 통해 메세지 삭제 기능
    if message.content.startswith ("!청소"): # '!청소'를 입력한다면
        if message.author.guild_permissions.administrator: # 입력한 유저의 권한을 확인한다.
            amount = message.content[4:] # '!청소 숫자' 에서 숫자를 인식하여 amount의 값을 넣는다.
            await message.delete()
            await message.channel.purge(limit=int(amount))

        else: # 입력한 유저가 권한이 없다면,
            await message.delete() # 입력한 채팅을 삭제하고, 
            await message.channel.send("{}, 당신은 명령어를 사용할 수 있는 권한이 없습니다".format(message.author.mention)) # 문장을 출력한다.
'!startswith()関数を使用して、数値を識別するために「クリア数値」を入力します.
startsWith()関数は、ターゲット文字列が特定の文字または文字列で始まることをチェックします.
「このようにコードを書くから」!「数値のクリーンアップ」と入力してメッセージを削除する機能のみを実行しているため、後でどれだけのメッセージが削除されたのか分からないため、不便になる可能性があるので、Imbedを使用してどれだけのメッセージが削除されたのかをユーザーに見せるように修正する必要があります.

リンベドを使用して、どのプレイヤーが削除した情報を出力するかを変更します.
また、特定の権限を付与したプレイヤーが他のプレイヤーキャラクターに与える機能も追加される.
 # 인증 기능
    if message.content.startswith ("!인증"): # '!인증'을 입력한다면
        if message.author.guild_permissions.administrator: # 입력한 유저의 권한을 확인한다.
            await message.delete() # 입력한 채팅을 삭제한다.
            user = message.mentions[0] # '!인증 @유저' 에서 유저정보를 user에 담는다.

            # 가독성을 위한 임베드 출력
            embed = discord.Embed(title="👋 인증 시스템", description="인증이 정상적으로 완료 되었습니다 !",timestamp=datetime.datetime.now(pytz.timezone('UTC')), color=0x4c2896)
            embed.add_field(name="인증 대상자", value=f"{user.name} ( {user.mention} )", inline=False)
            embed.add_field(name="담당 관리자", value=f"{message.author} ( {message.author.mention} )", inline=False)
            embed.set_thumbnail(url="https://cdn.discordapp.com/attachments/955360993729449987/955392404280737812/99pk9saw36t7q8t3o0gt.jpg")
            embed.set_footer(text="Bot Made by. 김동민#0026, , 문의는 DM으로 부탁드립니다 💬")
            await message.author.send (embed=embed) # 유저 개인 DM으로 전송한다. 채팅방에 출력되도록 하려면 messae.channel.send 로 바꾸면 된다.
            role = discord.utils.get(message.guild.roles, name = '유저 😀')
            await user.add_roles(role)

        else: # 권한이 없다면
            await message.delete() # 입력한 메세지를 삭제하고,
            await message.channel.send(embed=discord.Embed(title="권한 부족", description = message.author.mention + "님은 권한이 없습니다", color = 0x4c2896)) # 특정 문구를 출력한다.
            embed.set_footer(text="Bot Made by. 김동민#0026, , 문의는 DM으로 부탁드립니다 💬")
            embed.set_thumbnail(url="https://cdn.discordapp.com/attachments/955360993729449987/955392404280737812/99pk9saw36t7q8t3o0gt.jpg")
「クリーンアップ機能で使用されるstartswith()関数を使用する」!認証@プレイヤーから@プレイヤーの情報を得ることができます.
プレイヤー😀' あなたにあげることができます.

プレイヤー😀' 彼が役を演じているのが見えます.
いくつかの機能はありませんが、コードは70行以上なので、近いうちに機能分割ファイルに基づいてコードを書くべきだと思います.