-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathmain.py
100 lines (79 loc) · 3.4 KB
/
main.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
# Main file for the Discord Bot
from secrets import TOKEN, course_id
import discord
from discord.ext import commands
import canv
import os
from dateutil import parser
bot = commands.Bot(command_prefix="!")
@bot.event # Bot Status
async def on_ready():
print('We have logged in as {0.user}'.format(bot))
@bot.command(name = 'h')
async def embedMessage(context):
embed=discord.Embed(title="Canvas Bot ", description="Help Commands", color=0xd35650)
embed.add_field(name="!v", value="Bot Version", inline=False)
embed.add_field(name="!an", value="Announcement", inline=False)
embed.add_field(name="!ans", value="Multiple Announcements", inline=False)
embed.add_field(name="!na", value="Next Assignment", inline=False)
embed.add_field(name="!nas", value="Next Multiple Assignments", inline=True)
embed.set_footer(text="!h for Canvas Bot Commands")
await context.send(embed=embed)
return
@bot.command(name = 'v')
async def embedMessage(context):
myEmbed = discord.Embed(title ="Current Version", description="Bot Version: 1.0.0", color = 0x000000)
myEmbed.add_field(name = "Version Code:", value = "v1.0.0", inline=False)
myEmbed.add_field(name = "Date Released:", value = "March 6, 2022", inline=False)
# myEmbed.set_footer(text ="Sample footer")
myEmbed.set_author(name = "Buizels")
await context.message.channel.send(embed = myEmbed)
return
@bot.command(name = 'an') #gets anouncement
async def embedMessage(message):
if message.channel.name == 'canvas':
await message.channel.send(canv.get_anouncement(course_id))
await message.channel.send(canv.get_anouncement_content(canv.get_anouncement(course_id).message))
return
@bot.command(name = 'ans') #gets anouncements, ERROR
async def embedMessage(message):
if message.channel.name == 'canvas':
list_announcements = []
announcement = canv.get_anouncements(course_id)
for i in announcement:
list_announcements += [i.title]
# Print first 3 assignments
for i in range(3):
await message.channel.send(list_announcements[i])
return
@bot.command(name = 'na') #gets next assignment
async def embedMessage(message):
if message.channel.name == 'canvas':
next_assign = canv.get_next_assignment(course_id)
await message.channel.send(next_assign.name + " is due at: " + str(canv.convert_to_pst(next_assign.due_at)))
return
@bot.command(name = 'nas') #get next multiple assignments
async def embedMessage(message):
if message.channel.name == 'canvas':
next_assigns = canv.get_next_assignments(course_id)
string = ''
for i in next_assigns:
string += str(i.name) + " is due at: " + str(canv.convert_to_pst(i.due_at)) + "\n"
await message.channel.send(string)
return
@bot.command(name = 'ping')
async def ping(message):
if message.channel.name == 'canvas':
await message.channel.send("pong")
return
# !TODO
# @bot.command(name = 'gas') #gets all assignments, ERROR
# async def embedMessage(message):
# if message.channel.name == 'testing':
# next_assigns = canv.get_all_assignments(course_id)
# string = ''
# for i in next_assigns:
# string += str(i.name) + " is due at: " + str(canv.convert_to_pst(i.due_at)) + "\n"
# await message.channel.send(string)
# return
bot.run(TOKEN)