Discord Auto Role Bot with Assignment

 import os
import discord
from discord.ext import commands
from discord.ext.commands import has_permissions

intents = discord.Intents.all()  
intents.members = True

bot = commands.Bot(command_prefix='!', intents=intents)

async def on_ready():
    print(f'Logged in as {bot.user.name}')

async def on_member_join(member):
    role = discord.utils.get(member.guild.roles, name="New Member")
    if role:
        await member.add_roles(role)

async def add_role(ctx, role: discord.Role, user: discord.Member = None):
    user = user or ctx.author

About this template

This template provides an overview of the Discord auto role bot, a tool, for managing roles on Discord servers. It can automatically assign roles to users and new members when they join. This bot is especially handy for servers where role management can be time consuming. To use it you need to set the 'DISCORD_BOT_TOKEN' in the environment variables. The bot offers commands such as '!add_role <user>'; assigns a role to a user or the command author if no user is specified and 'on_member_join'; automatically gives members the 'New Member' role upon joining.

Introducing the Discord Auto Role Bot with Assignment Template

Welcome to the Discord Auto Role Bot with Assignment template! This template streamlines role management on your Discord server by automating role assignments for users. You can easily designate roles. Set up assignment, for new members using this bot. Follow this guide to set up your bot on the Lazy platform.

Getting Started with this Template

To kickstart using this template simply click on the "Start with this Template" button.

This feature will automatically fill in the code, on the Lazy Builder interface saving you the trouble of copying, pasting or deleting any code.

To begin setting up your Discord bot for testing and deployment you must first create an environment for the 'DISCORD_BOT_TOKEN'. This token is crucial for enabling your bot to communicate with the Discord API.

Here's how you can do it;

1. Go to the Discord Developer Portal. Set up an application.

2. Navigate to the "Bot" section. Click on "Add Bot" to confirm its creation.

3. Copy the token provided for your created bot.

4. In the Lazy Builder interface head over to the Environment Secrets tab.

5. Create a secret labeled 'DISCORD_BOT_TOKEN' and paste in the copied token as its value.

By configuring this environment secret your bot will be able to connect with Discords servers.

Testing; Initiating Deployment by Clicking Test

After configuring your environment secret simply click on the "Test" button. This action will kickstart the deployment process of your bot. Trigger the Lazy CLI tool. The CLI will manage all aspects of deployment without requiring any input, from you at this point.

Using the Application

Once your Discord bot is up and running it's good to go. Here's how you can interact with the bot;

To give a user a role simply type in the command !add_role <role> <user>, in your Discord server. Replace <role> with the role name and <user> with the user you want to assign the role to.

When a new member joins your server they will automatically receive the "New Member" role if it exists on your server.

Ensure that the bot has all permissions to manage roles within your Discord server.

Integration of the Application

If you're looking to incorporate this bot into your server you'll need to invite it over. Just follow these steps;

Head back to where you set up your bot in the Discord Developer Portal.

Navigate to the "section. Choose "URL Generator" from there.

Opt for the "scope and pick out the permissions required for your bot like "Manage Roles”, for handling roles.

Paste the URL generated into your web browser.

Select which server you'd like to welcome the bot into and confirm by sending out that invitation.Once the bot joins your server it will begin listening for commands and assigning roles to members based on the template automatically.

Keep in mind that this bot is hosted on the Lazy platform so you won't have to concern yourself with server upkeep or availability. Everything is taken care of, for you allowing you to concentrate on building your community.

That's all there is to it! You now have a Discord Auto Role Bot up and running smoothly on your server. Enjoy the convenience of automated role management!

Last published
June 15, 2024

More templates like this

Discord Ticketbot Template

A simple Discord Ticketbot for your Discord Support Department. This Template and Bot is fully customizable but already build so that you can use it right away. You need a bot token from https://discord.com/developers/applications for your bot to work. These are the steps needed to get your token: "1. 🌐 Go to the Discord Developer Portal. 🌐\n" + "2. 🆕 Create a new application and navigate to the 'Bot' section. 🤖\n" + "3. 📋 Under the 'TOKEN' section, click 'Reset Token' to get your Discord bot token and confirm by clicking 'Yes, do it'. 🔑\n" + "4. 🤖 If your bot will have any ability to read/reply to messages, then under the 'BOT' section, enable the slider titled 'Message Content Intent' ✅" + "5. 🔐 Set the 'DISCORD_BOT_TOKEN' in the Env Secrets tab with your bot token from step 3. 🔐\n" + "For bot permissions, it's recommended to start with basic permissions and adjust as needed for your app's functionality.🚀") If you encounter any bugs, please tell Lazy to fix them and report them on the Official Lazy AI Discord to @D4vidG4merLP. Credits: @meow - the Discord bot slash command template @mrlazy.notlazy - supporting me And the Biggest Thank you. You for using this template ❤️


Discord bot using slash commands in python

Just a cute /ping bot


Basic Discord Bot

A Discord bot that does nothing (excellent starting point). Think of it as the plain paper of Discord bots. It does nothing at all and you can turn it into whatever you want. All you need to set is a Discord bot token from your Discord developer portal and boom! You're done.

Discord Auto Role Bot with Assignment