From fdf326b17787824e70e7bade4503405f50980a94 Mon Sep 17 00:00:00 2001 From: Mikey Date: Thu, 19 Nov 2020 08:54:14 -0500 Subject: [PATCH 1/9] Update README.md --- README.md | 35 +++++++++++++++++++++++++++++++++-- 1 file changed, 33 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index 1c86bc7..e0f0fc9 100644 --- a/README.md +++ b/README.md @@ -1,12 +1,42 @@ # discord.py-welcome-bot -A simple bot that can be used to welcome new users to a discord server, sending them a custom private message and adding them to a role. +A simple bot that can be used to welcome new users to a discord server, send them a custom private message, send a welcome message to a specific channel, and adding them to a role. A video explaining how to set up everything except adding the user to a role can be found [here](https://youtu.be/N0NP7BfUFxA). **Update November 2019** - Now set up as a docker container to ensure full compatibility as I will not be maintaining this. Specific versions of Python and Discord.py are required for this script to work. +**Update November 2020** - Added basic install instructions for home computers and generic Linux distros. +## Easy: How to install the welcome-bot on a home computer: +Make sure that you've installed Python 3.6 or higher before beginning this. +### Linux +First, we want to clone the repository using `git clone`: +``` +git clone https://github.com/jcreek/discord.py-welcome-bot.git -## How to install the welcome-bot as a docker container on a server (raspberrypi) +cd discord.py-welcome-bot +``` +Secondly, we want to make sure we've updated our package list: + +``` +sudo apt update -y +``` +We now want to install the `python3` package: +``` +sudo apt install python3 +``` +Our final thing to do is run the script: +``` +python3 welcome-bot.py +``` +### Windows +You can download the latest python release from [here](https://www.python.org/downloads/windows/). +We now want to download and extract this repository: +![Downloading the repo](https://i.imgur.com/qe6H5Bo.png) +![Extracting the files](https://i.imgur.com/liPOy7K.png) +After extracting, you can navigate into the folder and just double-click the file. +![Running the file](https://i.imgur.com/pFdAa80.png) + +## Advanced: How to install the welcome-bot as a docker container on a server (raspberrypi) ### Building the image @@ -43,3 +73,4 @@ This will run the service every ten minutes. To change this use [Crontab Guru](h Run the below command to see the output of the bot. `docker container logs -f welcome-bot` +***MAKE SURE THAT YOU CHANGE THE TOKEN AT THE BOTTOM OF THE FILE!!!*** From ccd7bb056b70f59d5a7fb3e3c557c3ef9161312a Mon Sep 17 00:00:00 2001 From: Mikey Date: Thu, 19 Nov 2020 08:56:38 -0500 Subject: [PATCH 2/9] Update welcome-bot.py --- welcome-bot.py | 34 ++++++++++++++++++++-------------- 1 file changed, 20 insertions(+), 14 deletions(-) diff --git a/welcome-bot.py b/welcome-bot.py index abcc804..49d1ac8 100644 --- a/welcome-bot.py +++ b/welcome-bot.py @@ -4,9 +4,9 @@ # import all necessary commands and libraries import discord import asyncio - client=discord.Client() - +welcomechannel = await client.fetch_channel(channel_id) #https://support.discord.com/hc/en-us/articles/206346498-Where-can-I-find-my-User-Server-Message-ID +# Make sure you get the ID of your channel by right-clicking it and clicking `Copy ID`. Make sure developer mode is on! @client.event async def on_ready(): print('logged in as') @@ -28,20 +28,26 @@ here! async def on_member_join(member): print("Recognised that a member called " + member.name + " joined") try: - await client.send_message(member, newUserMessage) - print("Sent message to " + member.name) + await client.send_message(member, newUserMessage) + print("Sent message to " + member.name) except: print("Couldn't message " + member.name) - - # give member the steam role here - ## to do this the bot must have 'Manage Roles' permission on server, and role to add must be lower than bot's top role - role = discord.utils.get(member.server.roles, name="name-of-your-role") - await client.add_roles(member, role) + embed=discord.Embed( + title="Welcome "+member.name+"!" + description="We're so glad you're here!" + color=discord.Color.green() + ) + + role = discord.utils.get(member.server.roles, name="name-of-your-role") # Gets the member role as a `role` object + await client.add_roles(member, role) # Gives the role to the user print("Added role '" + role.name + "' to " + member.name) +@client.event +async def on_member_leave(member): + print("Recognised that a member called " + member.name + " left") + embed=discord.Embed( + title="😢 Goodbye "+member.name+"!", + description="Until we meet again old friend." #A description isn't necessary, you can delete this line if you don't want a description. + color=discord.Color.red() #There are lots of colors, you can check them here: https://discordpy.readthedocs.io/en/latest/api.html?highlight=discord%20color#discord.Colour + ) client.run('token') - - - - - From 6889ad613d48148a040763c5be312fe46e77a669 Mon Sep 17 00:00:00 2001 From: Mikey Date: Thu, 19 Nov 2020 09:13:01 -0500 Subject: [PATCH 3/9] Update README.md added intents --- README.md | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index e0f0fc9..6ded832 100644 --- a/README.md +++ b/README.md @@ -4,8 +4,11 @@ A simple bot that can be used to welcome new users to a discord server, send the A video explaining how to set up everything except adding the user to a role can be found [here](https://youtu.be/N0NP7BfUFxA). -**Update November 2019** - Now set up as a docker container to ensure full compatibility as I will not be maintaining this. Specific versions of Python and Discord.py are required for this script to work. -**Update November 2020** - Added basic install instructions for home computers and generic Linux distros. +**Update November 2019** - Now set up as a docker container to ensure full compatibility as I will not be maintaining this. Specific versions of Python and Discord.py are required for this script to work.\ +**Update November 2020** - Added basic install instructions for home computers and generic Linux distros, and how to enable Intents. +## Intents +Go to the [Discord Developer Portal](https://discord.com/developers/applications) and select your bot. Now move to the bot tab and scroll down. There you should see `Priveledged Gateway Intents`. Enable the `Members` intent. +![Enable Members Intent](https://i.imgur.com/rPePBe6.png) ## Easy: How to install the welcome-bot on a home computer: Make sure that you've installed Python 3.6 or higher before beginning this. ### Linux From 6d743890427dd60ddd369f5d2c23ad92af03979e Mon Sep 17 00:00:00 2001 From: Mikey Date: Thu, 19 Nov 2020 09:14:50 -0500 Subject: [PATCH 4/9] Added intents --- welcome-bot.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/welcome-bot.py b/welcome-bot.py index 49d1ac8..617309e 100644 --- a/welcome-bot.py +++ b/welcome-bot.py @@ -4,7 +4,8 @@ # import all necessary commands and libraries import discord import asyncio -client=discord.Client() +intents = discord.Intents(members=True) +client=discord.Client(intents=intents) welcomechannel = await client.fetch_channel(channel_id) #https://support.discord.com/hc/en-us/articles/206346498-Where-can-I-find-my-User-Server-Message-ID # Make sure you get the ID of your channel by right-clicking it and clicking `Copy ID`. Make sure developer mode is on! @client.event From 2342d947366944e530548c650abe6ca705a23f5d Mon Sep 17 00:00:00 2001 From: Mikey Date: Thu, 19 Nov 2020 12:36:21 -0500 Subject: [PATCH 5/9] Update README.md Added lines underneath headings --- README.md | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index 6ded832..7b598dd 100644 --- a/README.md +++ b/README.md @@ -1,17 +1,21 @@ # discord.py-welcome-bot - +__ A simple bot that can be used to welcome new users to a discord server, send them a custom private message, send a welcome message to a specific channel, and adding them to a role. A video explaining how to set up everything except adding the user to a role can be found [here](https://youtu.be/N0NP7BfUFxA). **Update November 2019** - Now set up as a docker container to ensure full compatibility as I will not be maintaining this. Specific versions of Python and Discord.py are required for this script to work.\ **Update November 2020** - Added basic install instructions for home computers and generic Linux distros, and how to enable Intents. + ## Intents +__ Go to the [Discord Developer Portal](https://discord.com/developers/applications) and select your bot. Now move to the bot tab and scroll down. There you should see `Priveledged Gateway Intents`. Enable the `Members` intent. ![Enable Members Intent](https://i.imgur.com/rPePBe6.png) ## Easy: How to install the welcome-bot on a home computer: +__ Make sure that you've installed Python 3.6 or higher before beginning this. ### Linux + First, we want to clone the repository using `git clone`: ``` git clone https://github.com/jcreek/discord.py-welcome-bot.git @@ -40,9 +44,10 @@ After extracting, you can navigate into the folder and just double-click the fil ![Running the file](https://i.imgur.com/pFdAa80.png) ## Advanced: How to install the welcome-bot as a docker container on a server (raspberrypi) +__ ### Building the image - +__ Copy the folder containing the Dockerfile onto the server. Go to the directory that has the Dockerfile and run the following command to build the Docker image from the source code: `docker build -t welcome-bot .` From 0783f28d854464d6274e992c82abb7b791ce022c Mon Sep 17 00:00:00 2001 From: Mikey Date: Thu, 19 Nov 2020 12:37:05 -0500 Subject: [PATCH 6/9] Update README.md --- README.md | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/README.md b/README.md index 7b598dd..b2df0b6 100644 --- a/README.md +++ b/README.md @@ -1,5 +1,5 @@ # discord.py-welcome-bot -__ + A simple bot that can be used to welcome new users to a discord server, send them a custom private message, send a welcome message to a specific channel, and adding them to a role. A video explaining how to set up everything except adding the user to a role can be found [here](https://youtu.be/N0NP7BfUFxA). @@ -8,11 +8,11 @@ A video explaining how to set up everything except adding the user to a role can **Update November 2020** - Added basic install instructions for home computers and generic Linux distros, and how to enable Intents. ## Intents -__ + Go to the [Discord Developer Portal](https://discord.com/developers/applications) and select your bot. Now move to the bot tab and scroll down. There you should see `Priveledged Gateway Intents`. Enable the `Members` intent. ![Enable Members Intent](https://i.imgur.com/rPePBe6.png) ## Easy: How to install the welcome-bot on a home computer: -__ + Make sure that you've installed Python 3.6 or higher before beginning this. ### Linux @@ -44,10 +44,10 @@ After extracting, you can navigate into the folder and just double-click the fil ![Running the file](https://i.imgur.com/pFdAa80.png) ## Advanced: How to install the welcome-bot as a docker container on a server (raspberrypi) -__ + ### Building the image -__ + Copy the folder containing the Dockerfile onto the server. Go to the directory that has the Dockerfile and run the following command to build the Docker image from the source code: `docker build -t welcome-bot .` From ae58201397344701a88cc43a8190e64b45a8375a Mon Sep 17 00:00:00 2001 From: Mikey Date: Thu, 19 Nov 2020 12:37:48 -0500 Subject: [PATCH 7/9] Update README.md --- README.md | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index b2df0b6..908937d 100644 --- a/README.md +++ b/README.md @@ -4,8 +4,9 @@ A simple bot that can be used to welcome new users to a discord server, send the A video explaining how to set up everything except adding the user to a role can be found [here](https://youtu.be/N0NP7BfUFxA). -**Update November 2019** - Now set up as a docker container to ensure full compatibility as I will not be maintaining this. Specific versions of Python and Discord.py are required for this script to work.\ -**Update November 2020** - Added basic install instructions for home computers and generic Linux distros, and how to enable Intents. +**Update November 2019** - Now set up as a docker container to ensure full compatibility as I will not be maintaining this. Specific versions of Python and Discord.py are required for this script to work. + +**Update November 2020** - Added basic install instructions for home computers and generic Linux distros, and how to enable Intents. (by [isigebengu-mikey](https://github.com/isigebengu-mikey)) ## Intents From b4edc53ceef9e7b9fc83b9be0ad505b5db64e565 Mon Sep 17 00:00:00 2001 From: Mikey Date: Thu, 19 Nov 2020 12:47:50 -0500 Subject: [PATCH 8/9] Update README.md --- README.md | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index 908937d..b41a41c 100644 --- a/README.md +++ b/README.md @@ -1,6 +1,7 @@ + # discord.py-welcome-bot -A simple bot that can be used to welcome new users to a discord server, send them a custom private message, send a welcome message to a specific channel, and adding them to a role. +A simple bot that can be used to welcome new users to a discord server, sending them a custom private message, send a welcome message to a specific channel, and adding them to a role. A video explaining how to set up everything except adding the user to a role can be found [here](https://youtu.be/N0NP7BfUFxA). @@ -12,6 +13,7 @@ A video explaining how to set up everything except adding the user to a role can Go to the [Discord Developer Portal](https://discord.com/developers/applications) and select your bot. Now move to the bot tab and scroll down. There you should see `Priveledged Gateway Intents`. Enable the `Members` intent. ![Enable Members Intent](https://i.imgur.com/rPePBe6.png) + ## Easy: How to install the welcome-bot on a home computer: Make sure that you've installed Python 3.6 or higher before beginning this. @@ -37,6 +39,7 @@ Our final thing to do is run the script: python3 welcome-bot.py ``` ### Windows + You can download the latest python release from [here](https://www.python.org/downloads/windows/). We now want to download and extract this repository: ![Downloading the repo](https://i.imgur.com/qe6H5Bo.png) @@ -82,4 +85,5 @@ This will run the service every ten minutes. To change this use [Crontab Guru](h Run the below command to see the output of the bot. `docker container logs -f welcome-bot` + ***MAKE SURE THAT YOU CHANGE THE TOKEN AT THE BOTTOM OF THE FILE!!!*** From 0ddc59c7071f2a8377583624221e666685cf04c5 Mon Sep 17 00:00:00 2001 From: Mikey Date: Thu, 19 Nov 2020 12:50:38 -0500 Subject: [PATCH 9/9] Update welcome-bot.py --- welcome-bot.py | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/welcome-bot.py b/welcome-bot.py index 617309e..4a5dfbc 100644 --- a/welcome-bot.py +++ b/welcome-bot.py @@ -6,7 +6,7 @@ import discord import asyncio intents = discord.Intents(members=True) client=discord.Client(intents=intents) -welcomechannel = await client.fetch_channel(channel_id) #https://support.discord.com/hc/en-us/articles/206346498-Where-can-I-find-my-User-Server-Message-ID +welcomechannel = await client.fetch_channel(channel_id) # https://support.discord.com/hc/en-us/articles/206346498-Where-can-I-find-my-User-Server-Message-ID # Make sure you get the ID of your channel by right-clicking it and clicking `Copy ID`. Make sure developer mode is on! @client.event async def on_ready(): @@ -14,8 +14,8 @@ async def on_ready(): print(client.user.name) print(client.user.id) print('-----') - -newUserMessage = """ # customise this to the message you want to send new users + # Customise the message below to what you want to send new users! +newUserMessage = """ You can put @@ -39,7 +39,7 @@ async def on_member_join(member): color=discord.Color.green() ) - role = discord.utils.get(member.server.roles, name="name-of-your-role") # Gets the member role as a `role` object + role = discord.utils.get(member.server.roles, name="name-of-your-role") # Gets the member role as a `role` object await client.add_roles(member, role) # Gives the role to the user print("Added role '" + role.name + "' to " + member.name) @@ -48,7 +48,7 @@ async def on_member_leave(member): print("Recognised that a member called " + member.name + " left") embed=discord.Embed( title="😢 Goodbye "+member.name+"!", - description="Until we meet again old friend." #A description isn't necessary, you can delete this line if you don't want a description. - color=discord.Color.red() #There are lots of colors, you can check them here: https://discordpy.readthedocs.io/en/latest/api.html?highlight=discord%20color#discord.Colour + description="Until we meet again old friend." # A description isn't necessary, you can delete this line if you don't want a description. + color=discord.Color.red() # There are lots of colors, you can check them here: https://discordpy.readthedocs.io/en/latest/api.html?highlight=discord%20color#discord.Colour ) client.run('token')