Skip to content

Commit

Permalink
Update moodle_alert_system.pyw
Browse files Browse the repository at this point in the history
  • Loading branch information
ashfaaqrifath authored Jul 5, 2024
1 parent 1a8f252 commit 9f075f2
Showing 1 changed file with 67 additions and 11 deletions.
78 changes: 67 additions & 11 deletions moodle_alert_system.pyw
Original file line number Diff line number Diff line change
Expand Up @@ -38,6 +38,20 @@ def get_time_element(url):
time_list.append(time.text)
return time_list

def get_link_element(url):
response = requests.get(url)
bs = BeautifulSoup(response.text, "html.parser")
elements = bs.find_all("a", {"data-region": "post-action"})[:3]

link_list = []
for link in elements:
link_list.append(link.get('href'))

if link_list:
return link_list
else: None


def telegram_alert(send):
bot_token = "BOT TOKEN"
my_chatID = "CHAT ID"
Expand All @@ -46,6 +60,13 @@ def telegram_alert(send):
response = requests.get(send_text)
return response.json()

def win_notification(title, msg_time):
notification.notify(
title=title,
message=msg_time,
app_icon=None,
timeout=5,)

###########################################################################
pid = os.getpid()

Expand All @@ -54,7 +75,7 @@ notification.notify(
message=f'''Program running in the background
Process ID: {pid}''',
app_icon=None,
timeout=5,)
timeout=3,)

with open("mas_pid.txt", "w") as f:
f.write(f"Moodle Alert System process ID: {str(pid)}")
Expand All @@ -66,12 +87,13 @@ bot = telebot.TeleBot("BOT TOKEN")
@bot.message_handler(func=lambda message: True)

def command_engine(message):
if message.text.lower() == "start":
if message.text.lower() == "/start":

site_url = "https://sam.sliitacademy.lk/"
site_url = "https://vle.sliitcityuni.lk/"
content = get_div_class(site_url)
title = get_h3_class(site_url)
time_stamp = get_time_element(site_url)
permalink = get_link_element(site_url)

if content is not None and title is not None and time_stamp is not None:
num = 4
Expand All @@ -80,6 +102,8 @@ def command_engine(message):
notice_content = str(content[i])
notice_title = str(title[i])
notice_time = str(time_stamp[i])
notice_link = permalink[i]

output = f'''
*SITE ANNOUNCEMENT {num} 🔴*
Expand All @@ -89,14 +113,43 @@ def command_engine(message):
{notice_content}
{'-'*50}
_SLIIT Moodle Alert System - v1.5_
_Copyright (c) Ashfaaq Rifath_'''
[SLIIT Moodle Alert System]({notice_link})'''

telegram_alert(output)
else:
bot.reply_to(message, "Error")

elif message.text.lower() == "stop":

elif message.text.isdigit():

notice_id = message.text

site_url = f"https://vle.sliitcityuni.lk/mod/forum/discuss.php?d={notice_id}"

response = requests.get(site_url)
bs = BeautifulSoup(response.text, "html.parser")
element = bs.find('h3', class_="h6 font-weight-bold mb-0")
element2 = bs.find("time")
time_stamp = element2.text
title = element.text

notice_title = str(title)
notice_time = str(time_stamp)

output = f'''
*SITE ANNOUNCEMENT 🔴*
*{notice_title}*
_{notice_time}_
{'-'*50}
[SLIIT Moodle Alert System]({site_url})'''

telegram_alert(output)



elif message.text.lower() == "/stop":
notification.notify(
title="Moodle Alert System",
message="Program Termianted",
Expand All @@ -119,11 +172,12 @@ def telegram_bot():
def moodle_alert_system():
while True:
try:
site_url = "https://sam.sliitacademy.lk/"
site_url = "https://vle.sliitcityuni.lk/"

content = get_div_class(site_url)
title = get_h3_class(site_url)
time_stamp = get_time_element(site_url)
permalink = get_link_element(site_url)

if content is not None and title is not None and time_stamp is not None:
num = 4
Expand All @@ -132,6 +186,7 @@ def moodle_alert_system():
notice_content = str(content[i])
notice_title = str(title[i])
notice_time = str(time_stamp[i])
notice_link = permalink[i]

output = f'''
*SITE ANNOUNCEMENT {num} 🔴*
Expand All @@ -140,19 +195,20 @@ def moodle_alert_system():
_{notice_time}_
{'-'*50}
{notice_content}
{'-'*50}
_SLIIT Moodle Alert System - v1.5_
_Copyright (c) Ashfaaq Rifath_'''
[SLIIT Moodle Alert System]({notice_link})'''

telegram_alert(output)
time.sleep(3600)
win_notification(notice_title, notice_time)
time.sleep(10800)
else:
quit()
except:
#print("Working...")
time.sleep(300)


telegram_bot_thread = threading.Thread(target=telegram_bot)
telegram_bot_thread.start()
moodle_alert_system()
Expand Down

0 comments on commit 9f075f2

Please sign in to comment.