how to make a discord bot discord.py code example
Example 1: discord.py bot
import discord
from discord.ext import commands
client = commands.Bot(comand_prefix='bot prefix here') # You can choose your own prefix here
@client.event()
async def on_ready(): # When the bot starts
print(f"Bot online and logged in as {self.client.user}")
# A simple command
@client.command(aliases=["ms", "aliases!"]) # You make make the command respond to other commands too
async def ping(ctx, a_variable): # a_variable is a parameter you use in the command
await ctx.send(f"Pong! {round(client.latency * 1000)}ms. Your input was {a_variable}")
client.run('your token here') # Running the bot
Example 2: discord bot python
# To make a simple discord bot that when the message content is '.hello'
# first you need to create a bot on discord.com/developers/
#there are many tutorials on how to create a bot
# then use py -3 -m pip install -U discord.py[voice] in terminal
# or if you're on mac/linux python3 -m pip install -U discord.py[voice]
import discord.py
client = discord.Client()
@client.event
async def on_ready():
print("Logged in as {0.user}".format(client)
@client.event
async def on_message(message):
#this will prevent the bot from responding to itself
if message.author == client.user:
return
#now let's start with the message content check
if message.content == '.hello':
print("Hello there!!")
#now run the bot
client.run('here put your token')
#and now when you run the program the bot will be online and working
Example 3: python discord bot moderate chat
import discord
class MyClient(discord.Client):
async def on_ready(self):
print('Logged on as', self.user)
async def on_message(self, message):
word_list = ['cheat', 'cheats', 'hack', 'hacks', 'internal', 'external', 'ddos', 'denial of service']
# don't respond to ourselves
if message.author == self.user:
return
messageContent = message.content
if len(messageContent) > 0:
for word in word_list:
if word in messageContent:
await message.delete()
await message.channel.send('Do not say that!')
messageattachments = message.attachments
if len(messageattachments) > 0:
for attachment in messageattachments:
if attachment.filename.endswith(".dll"):
await message.delete()
await message.channel.send("No DLL's allowed!")
elif attachment.filename.endswith('.exe'):
await message.delete()
await message.channel.send("No EXE's allowed!")
else:
break
client = MyClient()
client.run('token here')