Search code examples
pythondiscorddiscord.py

How to give discord roles with a bot


Im using the discord.py library and using replit for the bot, but my code doesnt work.

my code:

import os
import discord
from discord.utils import get
client = discord.Client()
@client.event
async def on_ready():
  print ("We have logged in as {0.user}".format(client))




@client.event
async def on_message(message):
    if message.content == ";":
        member = message.author
        role = get(member.guild.roles, name="Recruiter")
        await member.add_roles(role)




client.run(os.getenv("TOKEN"))

Solution

  • First of all, you're using client object and it is not a bot.

    This is the way to create a proper bot (not client):

    from discord.ext import commands
    bot = commands.Bot(command_prefix="!")
    

    You can't code reactions roles without reading the discord.py docs. It involves lots of stuff. If you want to code it yourself, the only way is to learn and do.