Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import discord
- import asyncio
- import random
- from discord.ext.commands import Bot
- from discord.ext import commands
- from datetime import *
- from threading import Timer
- from time import *
- import sched,time
- from textwrap import *
- import pickle
- global month,day,birthdays
- month = datetime.now().month## for testing change .month to .minute
- day = datetime.now().day## for testing change .day to .second
- global birthdays
- bdaylink = ['https://media.giphy.com/media/3ohhwmQ0xIg8W3pHd6/giphy.gif',
- 'https://media.giphy.com/media/IQF90tVlBIByw/giphy.gif',
- 'https://media.giphy.com/media/xT0BKqhdlKCxCNsVTq/giphy.gif',
- 'https://media.giphy.com/media/26FPIV12CYbDSVIR2/giphy.gif',
- 'https://media.giphy.com/media/yoJC2GnSClbPOkV0eA/giphy.gif',
- 'https://media.giphy.com/media/YTbZzCkRQCEJa/giphy.gif',
- 'https://media.giphy.com/media/3oEhn78T277GKAq6Gc/giphy.gif',
- 'https://media.giphy.com/media/kJLOin5OUi6uQ/giphy.gif',
- 'https://media.giphy.com/media/3ohzdHb9vMEkpuEy40/giphy.gif',
- 'https://media.giphy.com/media/xAFPuHVjmsBmU/giphy.gif',
- 'https://media.giphy.com/media/3o7btM5SfPJ8YlfjfW/giphy.gif',
- 'https://media.giphy.com/media/GXnaqmGcg1CTu/giphy.gif']
- bdaymessage = ['Celebrate your birthday today. Celebrate being Happy every day.',
- 'So many candles for such a small cake? Happy Birthday.',
- 'Wishing you a day that is as special in every way as you are. Happy Birthday.',
- 'Your birthday should be a national holiday. I need a day off. Happy Birthday.',
- 'You are a gift to the world. How is that for a reverse birthday wish. Happy Birthday.',
- "It is your birthday so I'll make the toasts and you make the boasts. Happy Birthday."]
- try:
- pickle_in = open('birthdays.pickle','rb')
- birthdays = pickle.load(pickle_in)
- pickle_in.close()
- except:
- birthdays = {}
- birthdays['nonexist'] = '3213'
- pickle_out = open('birthdays.pickle','wb')
- pickle.dump(birthdays, pickle_out)
- pickle_out.close()
- Client = discord.Client()
- bot_prefix = '.'
- client = commands.Bot(command_prefix = bot_prefix)
- @bot.event
- async def on_ready():
- global month,day
- print('Bot Online!')
- print('Name: {}'.format(bot.user.name))
- print('ID: {}'.format(bot.user.id))
- print(birthdays)
- while True:
- if day != datetime.now().day:## for testing change .day to .second
- for i in birthdays:
- userdate = wrap(birthdays[i],2)
- if int(userdate[0]) == month:
- if int(userdate[1]) == day:
- bdayboxtitle = random.choice(bdaymessage)
- bdaygifurl = random.choice(bdaylink)
- embed=discord.Embed(title=bdayboxtitle).set_image(url=bdaygifurl)
- await bot.send_message(i,embed=embed)
- month = datetime.now().month ## for testing change .month to .minute
- day = datetime.now().day ## for testing change .day to .second
- await asyncio.sleep(3600) ## for testing change 3600 to 1
- @bot.command(pass_context=True)
- async def birthday(ctx, userdefinedbirthday, userid: discord.User):
- try:
- userbday = wrap(userdefinedbirthday,2)
- usermonth = int(userbday[1])
- if len(str(usermonth)) != 2:
- usermonth = '0' + str(usermonth)
- userday = int(userbday[0])
- if len(str(userday)) != 2:
- userday = '0' + str(userday)
- birthdays[userid] = str(userday)+str(usermonth)
- await bot.say('Birthday of '+str(userid)+'set to '+str(userday)+str(usermonth))
- print(birthdays)
- pickle_out = open('birthdays.pickle','wb')
- pickle.dump(birthdays, pickle_out)
- pickle_out.close()
- except:
- await bot.say('Invalid birthday format, please use `2402` for 24th of February')
- bot.run('<id>')
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement