파이썬 디스코드 봇 관련 질문입니다

조회수 117회

디스코드 봇을 만들어 볼려고 하는데 대답 회신에서 자꾸 에러가 납니다. 그냥은 안보이는데 명령어를 실행하면


2022-11-04 04:10:16 ERROR    discord.client Ignoring exception in on_message
Traceback (most recent call last):
  File "C:\Users\내컴\AppData\Local\Programs\Python\Python310\lib\site-packages\discord\client.py", line 409, in _run_event
    await coro(*args, **kwargs)
  File "c:\Users\내컴\Desktop\pyprac\volatilty-breakout\test_.py", line 16, in on_message
    cmd = message.content.split(prefix)[1].split()[0] # 명령어를 저장한다
IndexError: list index out of range

이와같은 오류를 일으킵니다. 봇이 꺼지는건 아닌데 회신만 거부하고 계속 켜져있습니다. 사용한 코드는


import discord

client = discord.Client(intents=discord.Intents.default())

prefix ='t!' # 접두사

@client.event
async def on_ready():
    print('Logged in as')
    print(client.user.name)
    print(client.user.id)
    print('------')

@client.event
async def on_message(message): 
    cmd = message.content.split(prefix)[1].split()[0] # 명령어를 저장한다
    args = message.content.split(cmd)[1].split() # 공백을 기준으로 args를 저장한다
    if cmd == 'ping': # 위 두 코드와 합쳐져 message.content.startswith('t!ping')과 똑같은 조건에만 참이 된다
        await message.channel.send('pong!')

client.run('토큰비밀')

입니다

  • message.content 출력해보세요 초보 2022.11.4 11:43
  • 인식에는 문제가 없는 거 같네요. 보낼 때 문제가 생기는 거 같아요. await message.channel.send('pong!') 이 부분이 문제가 생기고 DM으로 할 때는 문제가 없네요 tegy1117@gmail.com 2022.11.5 12:34
  • 지금 올린 에러메시지는 message.content 문제입니다 초보 2022.11.5 15:59
  • 해결했습니다 감사합니다 tegy1117@gmail.com 2022.11.6 05:32

답변을 하려면 로그인이 필요합니다.

Hashcode는 개발자들을 위한 무료 QnA 사이트입니다. 계정을 생성하셔야만 답변을 작성하실 수 있습니다.

(ಠ_ಠ)
(ಠ‿ಠ)

ᕕ( ᐛ )ᕗ
로그인이 필요합니다

Hashcode는 개발자들을 위한 무료 QnA사이트 입니다. 계정을 생성하셔야만 글을 작성하실 수 있습니다.