Skip to content

Commit bf6fe9b

Browse files
First commit
1 parent 4d3f2c6 commit bf6fe9b

File tree

6 files changed

+227
-0
lines changed

6 files changed

+227
-0
lines changed

Procfile

+1
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
worker: python3 joker.py

info.txt

+3
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
#client id:<your-client-id>
2+
#Token:<your bot token>
3+
#permissions:8

joker.py

+215
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,215 @@
1+
import discord
2+
import random
3+
from discord.ext import commands,tasks
4+
from itertools import cycle
5+
import pyjokes
6+
import joke_generator
7+
8+
token = open("token.txt", "r").read()
9+
mainaccid=open("mainaccid.txt", "r").read()
10+
11+
bot = commands.Bot(command_prefix='!joker ')
12+
bot.remove_command("help")
13+
status=cycle(["Why So Sad!?","JOKER IS HERE","Use !joker"])
14+
15+
@bot.command(pass_context=True)
16+
async def help(ctx):
17+
author=ctx.message.author
18+
help_embed=discord.Embed(title="Joker Help",description="Use !joker before any command",color=discord.Colour.red())
19+
#help_embed.set_thumbnail(url=bot.user.avatar_url)
20+
help_embed.set_thumbnail(url="https://media.tenor.com/images/b9432c96a5ff07c194f337e7b43ff248/tenor.gif")
21+
help_embed.add_field(name="mention",value="mentions a user",inline=False)
22+
help_embed.add_field(name="whois/info/details",value="returns details of mentioned user",inline=False)
23+
help_embed.add_field(name="getdp/getprofilepic/dp",value="returns the profile pic of mentioned user",inline=False)
24+
help_embed.add_field(name="pm/dm/pvtmessage",value="sends private message to mentioned user",inline=False)
25+
help_embed.add_field(name="clean/clear",value="one with managing messages permission can delete n number of msgs from a channel",inline=False)
26+
help_embed.add_field(name="hi/hello",value="say hi",inline=False)
27+
help_embed.add_field(name="uthere/areuthere",value="ask are you there",inline=False)
28+
help_embed.add_field(name="insult/troll",value="insult someone",inline=False)
29+
help_embed.add_field(name="goodmorning/gm",value="wish goodmorning",inline=False)
30+
help_embed.add_field(name="goodnight/goodn8/nightynight/gn",value="wish goodnight",inline=False)
31+
help_embed.add_field(name="bye/sayonara/adios",value="say bye",inline=False)
32+
help_embed.add_field(name="spam",value="spam some text n number of times",inline=False)
33+
help_embed.add_field(name="choice/choose/select/random",value="choose random item from a list",inline=False)
34+
help_embed.add_field(name="ping",value="display the ping",inline=False)
35+
help_embed.add_field(name="cjoke/coding_joke",value="crack a coding related joke",inline=False)
36+
help_embed.add_field(name="joke",value="crack a joke",inline=False)
37+
#help_embed.set_image(url="https://media.tenor.com/images/b9432c96a5ff07c194f337e7b43ff248/tenor.gif")
38+
help_embed.set_footer(text="Requested by: "+str(author))
39+
await author.send(embed=help_embed)
40+
41+
def is_it_me(ctx):
42+
return str(ctx.author.id) == mainaccid
43+
44+
@bot.event
45+
async def on_ready():
46+
change_status.start()
47+
print('We have logged in as {0.user}'.format(bot))
48+
49+
@tasks.loop(seconds=10)
50+
async def change_status():
51+
await bot.change_presence(status=discord.Status.online,activity=discord.Game(next(status)))
52+
53+
@bot.event
54+
async def on_member_join(member):
55+
for channel in member.server.channels:
56+
if str(channel)=="general":
57+
await bot.send_message(f"""WELCOME TO THE SERVER {member.mention}""")
58+
59+
@bot.event
60+
async def on_command_error(ctx,error):
61+
if isinstance(error, commands.MissingRequiredArgument):
62+
await ctx.send("Please pass in all required arguments!")
63+
elif isinstance(error,commands.CommandNotFound):
64+
await ctx.send("Invalid command!")
65+
66+
@bot.command()
67+
async def mention(ctx, user : discord.Member):
68+
await ctx.send(user.mention)
69+
70+
@bot.command(aliases=["info","details"])
71+
async def whois(ctx, member : discord.Member = None):
72+
if not member:
73+
member = ctx.author
74+
embed=discord.Embed(title=member.name,description=member.mention,color=discord.Colour.red())
75+
embed.add_field(name="ID",value=member.id,inline=False)
76+
embed.set_thumbnail(url=member.avatar_url)
77+
await ctx.send(embed=embed)
78+
79+
@bot.command(aliases=["getprofilepic","dp"])
80+
async def getdp(ctx, member: discord.Member = None):
81+
if not member:
82+
member = ctx.author
83+
await ctx.send(member.avatar_url)
84+
85+
##@bot.command(aliases=["memeify"])
86+
##@commands.check(is_it_me)
87+
##async def meme(ctx, member: discord.Member = None):
88+
## if not member:
89+
## member = ctx.author
90+
91+
92+
@bot.command(aliases=["dm","pvtmessage"])
93+
async def pm(ctx , member: discord.Member = None,*,text):
94+
if not member:
95+
member = ctx.author
96+
await member.send(text)
97+
98+
@bot.command(aliases=["clean"])
99+
@commands.has_permissions(manage_messages=True)
100+
async def clear(ctx,amount=1):
101+
await ctx.channel.purge(limit=amount+1)
102+
103+
hi_urls=["https://media.tenor.com/images/89875b33e32cdd0d1777553653a6717c/tenor.gif",
104+
"https://media.tenor.com/images/852dab1b47145c779f3266a9ac76d922/tenor.gif",
105+
"https://media.tenor.com/images/18e364be2476610c0c760a631c63416e/tenor.gif",
106+
"https://media.tenor.com/images/fe3e2d08c49445ca807935eba60e5627/tenor.gif",
107+
"https://media.tenor.com/images/5fbe85446cdfa0c3ce15b1e4ddc58c37/tenor.gif",
108+
"https://media.tenor.com/images/1ab4a2bf24e962b03c27a4c8352c3e2f/tenor.gif",
109+
"https://media.tenor.com/images/1ee82bdcacdbc8ec55443a349ac1ef03/tenor.gif",
110+
"https://media.tenor.com/images/e6afa2be25c23e4c6f82f6e2faeb3400/tenor.gif"]
111+
@bot.command(aliases=["hi"])
112+
async def hello(ctx, member : discord.Member = None):
113+
if not member:
114+
member = ctx.author
115+
await ctx.send('Hello! '+member.mention)
116+
await ctx.send(random.choice(hi_urls))
117+
118+
uthere_urls=["https://media.tenor.com/images/fa2e94e3d890184f667cf9d0a381a213/tenor.gif",
119+
"https://media.tenor.com/images/e27c3c608e5502accd4853d343be876c/tenor.gif",
120+
"https://media.tenor.com/images/fae3cdddd0ca0a75b4fee69188d84e67/tenor.gif",
121+
"https://media.tenor.com/images/fb438267a923f041ab3b8d5ef2c2e2a4/tenor.gif",
122+
"https://media.tenor.com/images/843febaec8b2476756038d8300b6c861/tenor.gif",
123+
"https://media.tenor.com/images/8073fab909716c5cbebfdb6bcc86af71/tenor.gif",
124+
"https://media.tenor.com/images/9ea44380b5ba010d2e40f321da1564a9/tenor.gif"]
125+
@bot.command(aliases=["uthere"])
126+
async def areuthere(ctx, user : discord.Member = None):
127+
if not user:
128+
user=ctx.author
129+
await ctx.send('Are You There? '+user.mention)
130+
await ctx.send(random.choice(uthere_urls))
131+
132+
insult_urls=["https://media.tenor.com/images/19c50486ee6b472aba2817024c5ee4a5/tenor.gif",
133+
"https://media.tenor.com/images/2141dce8c8a73632749ede31cb6dd215/tenor.gif",
134+
"https://media.tenor.com/images/7397ff5d71c043634233a2be91053d8a/tenor.gif",
135+
"https://media.tenor.com/images/14cf6a44d0bd56f95eab06051c2c8bfd/tenor.gif",
136+
"https://media.tenor.com/images/256b5c5dc88a7c74f010ee0505d931ee/tenor.gif",
137+
"https://media.tenor.com/images/bc0fd16a9423fbe24127f8cccf247846/tenor.gif",
138+
"https://media.tenor.com/images/e8713cf0d9b7fc9d03215c394b8ffa0b/tenor.gif",
139+
"https://media.tenor.com/images/ba01b4ab2950342c129876164aa2d70d/tenor.gif"]
140+
@bot.command(aliases=["troll"])
141+
async def insult(ctx, user : discord.Member =None):
142+
if not user:
143+
user=ctx.author
144+
await ctx.send('Insulting'+user.mention)
145+
await ctx.send(random.choice(insult_urls))
146+
147+
gm_urls=["https://media.tenor.com/images/027da4b11ab91e5c0dffb388a8c6f060/tenor.gif",
148+
"https://media.tenor.com/images/84a8c2f0a681c3fc7db9b7084122d5a1/tenor.gif",
149+
"https://media.tenor.com/images/c591a3e438a4249775bf00457b915793/tenor.gif",
150+
"https://media.tenor.com/images/2890b109fc92eff030d1c24db0d2a761/tenor.gif",
151+
"https://media.tenor.com/images/5852b06765c604372f640218b4e24b3d/tenor.gif",
152+
"https://media.tenor.com/images/8e9f35f9648ab4256531dde31de09a9f/tenor.gif",
153+
"https://media.tenor.com/images/8f4a3f2f406ecccc8f790d63e5c94e3e/tenor.gif"]
154+
@bot.command(aliases=["gm"])
155+
async def goodmorning(ctx, user : discord.Member =None):
156+
if not user:
157+
user=ctx.author
158+
await ctx.send('Good Morning! '+user.mention)
159+
await ctx.send(random.choice(gm_urls))
160+
161+
gn_urls=["https://media.tenor.com/images/dec42b8d70a58a62cf106ecac1023d60/tenor.gif",
162+
"https://media.tenor.com/images/ccd68c7c41800fb7090eced436a1bda0/tenor.gif",
163+
"https://media.tenor.com/images/ef780440dce0fe33dedf9ca205f2ca1c/tenor.gif",
164+
"https://media.tenor.com/images/106064f0a356423af9e2ac51bef3409a/tenor.gif",
165+
"https://media.tenor.com/images/819d5eb6ae504c1b94eacdfa13878688/tenor.gif",
166+
"https://media.tenor.com/images/4a92c3367012116430b31d2315a5b701/tenor.gif",
167+
"https://media.tenor.com/images/2e89a44860147edcc6349ed3da9c234f/tenor.gif"]
168+
@bot.command(aliases=["goodn8","nightynight","gn"])
169+
async def goodnight(ctx, user : discord.Member =None):
170+
if not user:
171+
user=ctx.author
172+
await ctx.send('Good Night! '+user.mention)
173+
await ctx.send(random.choice(gn_urls))
174+
175+
bye_urls=["https://media.tenor.com/images/5becc8db5702cc2f9affea9559f10cd1/tenor.gif",
176+
"https://media.tenor.com/images/e955f55bab6839ec724531e3bae3303c/tenor.gif",
177+
"https://media.tenor.com/images/0f5b101d294b217d13b3badb43c38fa0/tenor.gif",
178+
"https://media.tenor.com/images/217be23d6af58e44d7e0fb48595815bd/tenor.gif",
179+
"https://media.tenor.com/images/93106f99ea2f7638fa0a49af0dc1bd9c/tenor.gif",
180+
"https://media.tenor.com/images/80534b478b519f315230d7d1c993a326/tenor.gif",
181+
"https://media.tenor.com/images/bb2599195ea28683463badc924f01c81/tenor.gif",
182+
"https://media.tenor.com/images/a13b5ae7e6efa9391c2feacaaeaf5656/tenor.gif",
183+
"https://media.tenor.com/images/9c6383ca347da05c30cc4dbb986d1ca2/tenor.gif",
184+
"https://media.tenor.com/images/9b282281b97686e155961a542dc57f87/tenor.gif",
185+
"https://media.tenor.com/images/a211545ceb0e837aba11287fae0b4dce/tenor.gif"]
186+
@bot.command(aliases=["sayonara","adios"])
187+
async def bye(ctx, user : discord.Member =None):
188+
if not user:
189+
user=ctx.author
190+
await ctx.send('Bye! '+user.mention)
191+
await ctx.send(random.choice(bye_urls))
192+
193+
@bot.command()
194+
async def spam(ctx, times,*,text):
195+
for i in range(int(times)):
196+
await ctx.send(text)
197+
198+
@bot.command(aliases=["choose","select","random"])
199+
async def choice(ctx,options="yes ,no"):
200+
await ctx.send(random.choice(options.split(",")))
201+
202+
@bot.command()
203+
async def ping(ctx):
204+
await ctx.send(f'Pong! {round(bot.latency *1000)}ms')
205+
206+
@bot.command(aliases=["cjoke"])
207+
async def coding_joke(ctx):
208+
await ctx.send(pyjokes.get_joke())
209+
210+
@bot.command()
211+
async def joke(ctx):
212+
await ctx.send(joke_generator.generate())
213+
214+
215+
bot.run(token)

mainaccid.txt

+1
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
<your main acount id>

requirements.txt

+6
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
git+https://github.com/Rapptz/discord.py
2+
dnspython==1.16.0
3+
PyNaCl==1.3.0
4+
async-timeout==3.0.1
5+
pyjokes
6+
joke_generator

token.txt

+1
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
<your bot token>

0 commit comments

Comments
 (0)