Python

파이썬 봇 코드 질문

ba

bakod
답변 완료
30 XP
# 카테고리에 해당하는 채널을 가져옵니다.
channel_id = config['channels'][category]
channel = client.get_channel(channel_id)
print(f'채널ID : {channel_id}\n채널 : {channel}')

# 새로운 게시글의 정보를 해당 채널에 보냅니다.
# 메시지의 내용을 원하시는 대로 변경하실 수 있습니다.
message = f"새로운 게시글이 올라왔습니다!\n제목: {title}\n링크: {link}"
await channel.send(message)

대충 이렇게 파이썬 봇 코드를 짰는데, channel_id는 정상적으로 출력되고, 해당 id의 채널이 있는것을 확인 했습니다. 근데 channel 값이 None으로 출력됩니다. 해당 API 문서보니깐 int형식으로 return 된다는데, None은 해당 id의 채널이 없을때 반환된다더라고요.

채널ID : 1178626769721499728
채널 : None
An error occurred: 'NoneType' object has no attribute 'send'

대충 이렇게 출력이 되는데, token정상, OAuth2는 SCOPES - bot, Permission - Read Messages/View Channels, Send Messages 선택하고, 해당 id의 채널은 비공개 채널이지만 혹시몰라서 관리자 권한도 주고 모든 권한 준 상태입니다. 왜 이렇게 뜨는걸까요. 나머지 title이랑 link도 정상적으로 출력됩니다. channel 값만 None값이 뜨고 못찾는것 같아서 질문드립니다.image.png


불러오는 중...