채팅 그룹을 위한 멋진 디스코드 봇 만들기

4971 단어

개요



일부 디스코드 그룹이 디스코드 봇을 추가하는 것을 보는 것은 매우 일반적입니다. 디스코드 봇은 무엇을 할 수 있나요? 사용자가 보내는 내용에 따라 응답할 수 있습니다. 사용자가 슬픈 말을 보내면 봇이 몇 가지 말을 보내 격려할 수 있습니다. 또한 새 구성원이 우리 그룹에 가입하면 소유자가 항상 온라인 상태가 아닐 수 있으므로 봇이 새 구성원을 환영할 수 있습니다. 봇은 확장 가능하므로 이를 사용하여 멋진 것을 만들 수 있습니다.

도서관



GitHub를 검색한 후 몇 가지 discord Api 라이브러리를 발견했습니다.
  • Cog-Creators/Red-DiscordBot(python)
  • discordjs/discord.js(자바스크립트)
  • Rapptz/discord.py(python)
  • bwmarrin/discordgo(golang)
    저는 이 글에서 Rapptz/discord.py를 선택했습니다. 저는 Python을 정말 좋아하기 때문입니다.

  • 환경 설치



    가장 먼저 파이썬 환경을 설치해야 합니다. Python 3.8 이상 버전을 설치해야 합니다. 로컬 환경을 설치하고 싶지 않다면 replit.com 또는 pythonanywhere와 같은 클라우드 환경을 원하는 대로 사용할 수 있습니다. 하지만 저에게는 아나콘다 소프트웨어를 사용하여 env를 설치했습니다. 그것은 UI를 제공하고 사용하기 매우 쉽습니다.

    봇 토큰 받기



    확실히 우리는 토큰이 필요합니다. 그러면 우리는 그것을 어떻게 얻습니까? "https://discord.com/developers/applications "을 클릭한 다음 디스코드 계정에 로그인하십시오. 아바타 근처에 새 애플리케이션 버튼이 표시됩니다. 애플리케이션을 생성한 후 봇 페이지로 이동하여 토큰을 복사합니다. 누출되지 않도록 각별히 주의해야 합니다.

    우리 채팅 그룹에 봇을 발명



    이미 무료 디스코드 채팅 그룹이 있기를 바랍니다. 그렇지 않은 경우 무료로 만들 수 있습니다. 애플리케이션 페이지로 다시 이동하면 Oauth2/URL 생성기가 표시됩니다. 범위와 권한을 선택하여 애플리케이션에 대한 초대 링크를 생성합니다. 작동해야 합니다. URL을 받아 브라우저에서 엽니다. 그게 다입니다.

    멋진 파이썬 코드




    import discord
    
    class MyClient(discord.Client):
        async def on_ready(self):
            print('Logged on as', self.user)
    
        async def on_message(self, message):
            # don't respond to ourselves
            if message.author == self.user:
                return
    
            if message.content == 'ping':
                await message.channel.send('pong')
    
    
    intents = discord.Intents.default()
    intents.message_content = True
    client = MyClient(intents=intents)
    client.run('YOUR TOKEN HERE')
    


    프록시가 필요한 경우 다음과 같은 코드를 첨부할 수 있습니다.

    client = MyClient(intents=intents, proxy="http://127.0.0.1:10809")
    


    이 프록시 주소는 내 로컬 프록시 주소입니다. 프록시를 사용하려면 자신의 주소로 바꿔야 합니다.

    결과



    python demo.py를 실행하면 다음을 볼 수 있습니다.

    2022-09-30 10:15:48 INFO     discord.client logging in using static token
    2022-09-30 10:15:50 INFO     discord.gateway Shard ID None has connected to Gateway (Session ID: xxxxxxx).
    Logged on as xxxx-demo#4518
    


    위의 모든 작업이 완료되면 봇이 온라인 상태임을 알 수 있습니다.
    디스코드 봇이나 디스코드 응용 프로그램에 대한 질문이 있으면 언제든지 저를 연결해 주세요.

    좋은 웹페이지 즐겨찾기