我想做一个类型机器人将自动加入我的类,我已经尝试过了,但得到了错误



我想创建一个类型bot,它将自动加入我的类,我已经尝试过了,但得到了错误

导入所需的所有模块

import schedule
import webbrowser
import pyttsx3
import timetable
import time

Join Class连接类的函数

def joinclass(classname):
zoomlinks=timetable.zoomlinks
webbrowser.open(zoomlinks[classname])
pyttsx3.speak(f"joining {classname}")

周一的加入类代码

schedule.every().monday.at("08:30").do(joinclass("Assembly"))
schedule.every().monday.at("08:40").do(joinclass("Hindi"))
schedule.every().monday.at("09:30").do(joinclass("Elit"))
schedule.every().monday.at("10:05").do(joinclass("Maths"))
schedule.every().monday.at("11:15").do(joinclass("History"))
schedule.every().monday.at("12:05").do(joinclass("PT"))

周二的加入类代码

schedule.every().tuesday.at("08:30").do(joinclass("Assembly"))
schedule.every().tuesday.at("08:40").do(joinclass("Maths"))
schedule.every().tuesday.at("09:30").do(joinclass("Geography"))
schedule.every().tuesday.at("10:05").do(joinclass("Biology"))
schedule.every().tuesday.at("11:15").do(joinclass("Physics"))
schedule.every().tuesday.at("12:05").do(joinclass("Gk"))

周三加入类代码

schedule.every().wednesday.at("08:30").do(joinclass("Assembly"))
schedule.every().wednesday.at("08:40").do(joinclass("Hindi"))
schedule.every().wednesday.at("09:30").do(joinclass("Elit"))
schedule.every().wednesday.at("10:05").do(joinclass("Telugu"))
schedule.every().wednesday.at("11:15").do(joinclass("Chemistry"))
schedule.every().wednesday.at("12:05").do(joinclass("Elang"))

周四参加课程的代码

schedule.every().thursday.at("08:30").do(joinclass("Assembly"))
schedule.every().thursday.at("08:40").do(joinclass("Geography"))
schedule.every().thursday.at("09:30").do(joinclass("Maths"))
schedule.every().thursday.at("10:05").do(joinclass("Telugu"))
schedule.every().thursday.at("11:15").do(joinclass("Chemistry"))
schedule.every().thursday.at("12:05").do(joinclass("Elang"))

周五的入班代码

schedule.every().thursday.at("08:30").do(joinclass("Assembly"))
schedule.every().thursday.at("08:40").do(joinclass("Elang"))
schedule.every().thursday.at("09:30").do(joinclass("Maths"))
schedule.every().thursday.at("10:05").do(joinclass("Computer"))
schedule.every().thursday.at("11:15").do(joinclass("History"))
schedule.every().thursday.at("12:05").do(joinclass("Biology"))

加入挂起的类

while True:
schedule.run_pending()
time.sleep(1)

我得到了这样一个错误:-

自我。Job_func = functools。Partial (job_func, *args, **kwargs)TypeError:第一个参数必须是可调用的

基本上,你像这样调用函数:

schedule.every().monday.at("08:30").do(joinclass("Assembly"))
#                                      ^^^^^^^^^^^^^^^^^^^^^

时,你应该这样调用它们:

schedule.every().monday.at("08:30").do(joinclass, "Assembly")
#                                      ^^^^^^^^^^^^^^^^^^^^^

跑题了,但是你可以使用字典来简化你的代码:

frame = {
'monday': {
'08:30': 'Assembly',
'08:40': 'Hindi',
'09:30': 'Elit',
'10:05': 'Maths',
'11:15': 'History',
'12:05': 'PT',
},
'tuesday': {
'08:30': 'Assembly',
'08:40': 'Maths',
'09:30': 'Geography',
'10:05': 'Biology',
'11:15': 'Physics',
'12:05': 'Gk',
},
# Do the same for all the weekdays
}

然后,使用上面的字典(frame),您可以使用以下代码运行所有调度:

for weekday, frame_schedule in frame.items():
for time, subject in frame_schedule.items():
getattr(schedule.every(), weekday).at(time).do(joinclass, subject)

相关内容

最新更新