파이톤으로 지령 하나면 채널을 만들 수 있는discordbot 만들자#2
10989 단어 discord.pydiscordPython3
편지 받은 후 동작
다음은 메시지 내의 특정한 정보에 반응하는 프로그램을 써 보세요.
!
와;;
등에서 시작된 bot 기능은 모두 사용한 적이 있을 것이다.이 글자는Prefix라고 합니다.이것에 대한 코드를 쓰면 길어지니까 안 쓰는 방법을 설명해 주세요.(나도 언제 그것을 사용하는 사이트를 만들고 싶다.)
@client.event
async def on_ready():
print(f'Logged in as: {client.user.name}')
print(f'With ID: {client.user.id}')
# ここに書いていきます
client.run('TOKEN')
on_ready()
및 client.run()
사이@client.event
async def on_message(message:discord.Message):
if message.content.startswith('.txt'):
:
:
이렇게 써.on_message(message:discord.Message)
여기에 쓴 정보를 보낼 때 다음 프로그램을 실행하십시오.그래서 기본적으로 여기에 많은 것을 첨가했다.
if message.content.startswith('.txt'):
란 .txt
정보를 시작하면 다음과 같은 일을 한다는 뜻이다.반면
if message.content.endswith('。'):
는。
끝난글이발표되면다음과 같은일을 하겠다는의미다.받은 정보에 따라 행동을 결정하다
예를 들어 Rythm에서는
!p (曲の名前やURL)
또는 !loopqueue
명령이 있습니다.이와 마찬가지로 공백이 있을 때의 정보로 분리합니다.
# on_message内
async def on_message(message: discord.Message):
msg=message.content.split()
# '.txt (新しいチャンネル名)' で新しいテキストチャンネルを作る
if message.content.startswith('.txt'):
# try文でエラーが出る部分を例外処理
try:
if len(msg[1]) > 0:
await message.channel.send(f'{message.author.mention}がテキストチャンネルを作成しました。\n'
f'チャンネル名は、{msg[1]} です。')
# エラーが出た時の対処
except:
await message.channel.send(f':thinking: ,{message.author.mention} チャンネル名を入力してください。')
코드 해설msg=message.content.split()
부터 설명합니다..split()
는 괄호의 내용으로 문장을 나눈다는 뜻이다.여기는 공백이니 구분자를 사용하지 마세요.message.content
if문 해설 때도 했던 채널에 적힌 메시지의 내용이다.이 경우
.txt
부터 시작된 정보는'.txt', (채널명) 두 가지로 나뉜다.msg=
밑에 print(msg)를 붙여 보세요. 사진의 예에서.['.txt', 'wow']
.다음은try문장 아래의 설명이다.
try문은 프로그램을 실행할 때 오류가 발생한 경우 예외가 발생한 경우에만 어떤 처리를 할 수 있는지에 대한 또 다른 기술이다.
참조(try 정보)
채널을 만들다
채널을 만들려면 discord.Guild 클래스의 create_text_channel(), create_voice_channel()를 사용합니다.
채널은 기본적으로 어떤 종류에 속한다.
# msg[1] に入っている文字列をチャンネル名にする
await message.guild.create_text_channel(name=msg[1])
이것을 위try문의 맨 아래에 연결해라.↓
if message.content.startswith('.txt'):
msg = message.content.split()
#チャンネルを作る
try:
# チャンネル名が存在した時
len(msg[1]) > 0
await message.channel.send(f'{message.author.mention}がテキストチャンネルを作成しました。'
f'\nチャンネル名は、{msg[1]} です。')
# メッセージの発せられたカテゴリに新しいチャンネルを作る
await message.guild.create_text_channel(name=msg[1])
# 2021/12/27追記
# 同じカテゴリに作りたい場合、(name=msg[1], category=message.channel.category)としてください
except:
# チャンネル名が入っていない時
await message.channel.send(f':thinking: ,{message.author.mention} チャンネル名を入力してください。')
해설>>
await message.channel.send(f'{message.author.mention}がテキストチャンネルを作成しました。…
: (성공시)
텍스트 채널을 만들었습니다.
채널 이름은 입니다.
(실패 시)
,, {message.author.mention} 채널 이름을 입력하십시오.
이렇게 돼서
다음은 삶은 종이의 제작과 분류 제작에 관한 것이다.
다음번 여기 있습니다.
Reference
이 문제에 관하여(파이톤으로 지령 하나면 채널을 만들 수 있는discordbot 만들자#2), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/peco_2282/items/da91c07405534447c925텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)