KO
|
EN
gitlite — search
Search
#python
#linux
#hacktoberfest
#machine-learning
#react
#cybersecurity
#java
#windows
#llm
#mac
#security
#cpp
PU-SignUpBot
★ 65
Open GitHub ↗
自动报名pu口袋校园的python脚本
Download README (.md)
Explore Similar Repositories
CoSurfGS
:
CoSurfGS: Collaborative 3D Surface Gaussian Splatting with Distributed Learning for Large Scene Reconstruction
obsidian-tab-panels
:
Create tab panels to organize content into sections.
MSE_Fall2024
:
No description available.
RefMask3D
:
[ACM MM-2024] RefMask3D: Language-Guided Transformer for 3D Referring Segmentation
evilware-theme
:
SCI-FI SCIENTIST LINUX THEME
// repository documentation
Was this content helpful?
★ 0
(0 ratings)
Select Rating:
★
★
★
★
★
Submit Feedback
Recent Feedback
×
Download README
Do you want to download the
README.md
file for
PU-SignUpBot
?
Download (.md)
# PU-SignUpBot 开发者们大部分已经毕业 欢迎任何形式 任何内容的社区贡献! --- ## What's new 1. 增加邮件通知功能~~pu口袋校园的移动端广告太多了,查看报名是否成功时一不小心就点到,故开发此功能~~ 2. 增加自动获取活动id的功能。可以自定义筛选条件,快速简洁地获得满足用户筛选需求的所有活动,无需手动复制id 3. 优化用户存储逻辑,实现每个用户可以根据自己的activity_ids报名。 4. 优化报名策略: - 报名前先与服务器时间同步。 - 持续监控活动信息,可以在一定程度上避免因活动时间变更而无法及时报名的问题。⚠️注意:此功能可以在config里配置,间隔时间越短越准确,同样封号或封ip的可能性也更大,非必要不建议更改 - 报名时采用三段式策略,每个快速线程发送5个报名请求。第一轮快速启动5个线程;第二轮每0.4秒启动一个一个线程,总计启动15个;第三轮每0。8秒启动一个线程,总计45个。 - 如果60秒内该活动为报名成功,说明活动人数已满,报名失败,结束该报名线程 --- ## ⚠️ 使用前要知道的事 ⚠️ **网络要求**:需要稳定的网络,不能使用外网环境 **账号安全**:只在可信的电脑上使用,注意保护 `user_data` 用户数据的安全 --- ## 🚀 快速开始(5分钟搞定) ### 第1步:下载工具 **方法A - 直接下载(推荐新手)** : 1. 点击页面上绿色的 `Code` 按钮 2. 选择 `Download ZIP` 3. 解压到你电脑的任意文件夹 **方法B - 用Git下载(适合有基础的用户)** : ```bash git clone -b refactor/core-and-add-features https://github.com/yiqjffeng/PU-SignUpBot.git ``` --- ### 第2步:安装运行环境(两种方法,推荐用uv更简单) 1. 打开下载的文件夹 2. 在空白处点击右键,选择 `在终端中打开` #### 方法一:用uv安装(推荐,最简单) **什么是uv?** 这是一个超简单的Python环境管理工具,比传统pip快很多! 如果你没有uv,可以先用pip安装: 1. **先安装uv**: - 打开终端 - 输入: ```bash pip install uv ``` 2. **用uv安装依赖**: - 进入你下载的项目文件夹 - 在终端输入: ```bash uv sync ``` - 等待完成就行啦! **然后激活虚拟环境**: - Windows用户: ```bash .venv/Scripts/activate ``` - Mac/Linux用户: ```bash source .venv/bin/activate ``` #### 方法二:用传统pip安装 > [!NOTE] > > 如果您是第一次使用pip,且没有科学上网的环境,可能会遇到网络连接的错误或者下载速度很慢很慢。 > > 这时建议您配置国内的镜像仓库,[请参考这里](https://www.runoob.com/w3cnote/pip-cn-mirror.html) > > 使用uv的小伙伴不需要在意,我已经在项目里配置好了uv的国内镜像源 **Windows用户看这里** : 依次输入以下命令: ```bash python -m venv .venv .venv\Scripts\activate pip install -r requirements.txt ``` **Mac/Linux用户看这里** : 1. 打开终端,进入本项目文件夹(如果你没有重命名应该是PU-SignUpBot) 2. 依次输入以下命令: ```bash python -m venv .venv source .venv/bin/activate pip install -r requirements.txt ``` #### 为什么推荐uv? - **速度超快**:安装依赖比pip快好几倍 - **一键搞定**:一个命令就能装好所有东西 - **自动管理**:自动帮你处理环境配置 - **节省空间**:占用更少的硬盘空间 --- ### 第3步:运行工具 在刚才的终端里输入: ```bash python main.py ``` --- ## 详细使用教程 ### 第一步:添加你的PU账号 运行程序后会问你是否要添加新用户,输入 `y` 然后按提示填写: 1. **学校名称**:输入你学校的完整名字(比如"山东科技大学") 2. **PU用户名**:你在PU口袋校园的登录账号 ~~通常为学号~~ 3. **PU密码**:你的登录密码 4. **院系名称**:你就读的院系,请务必使用你所在院系的全称(比如"经济管理学院") 5. **邮箱地址**(可选):填写后报名结果会发邮件通知你 **小贴士**:信息一定要填准确,错了会导致报名失败哦! --- ### 第二步:找你想报名的活动 程序会问你要不要获取活动列表,输入 `y` 后: 1. 先选择要不要用高级筛选(推荐用,可以精准找到想要的活动) 2. 如果选高级筛选,会问你: - 想参加什么类型的活动(如思想政治与道德修养、文化艺术与身心发展等),y是添加,n是不添加。示例如下: ```txt 当前类型: 活动分类 需要筛选此类型的活动吗?[y/n]y 0: 名称:思想政治与道德修养 是否添加至筛选? [y/n] n 1: 名称:社会实践与志愿服务 是否添加至筛选? [y/n] n 2: 名称:文化艺术与身心发展 是否添加至筛选? [y/n] n 3: 名称:学术科技与创新创业 是否添加至筛选? [y/n] n 4: 名称:社会工作与技能拓展 是否添加至筛选? [y/n] n 该类型已添加完毕。 ``` > [!WARNING] > > 注意,每个学校的活动类型名称可能不一样,作者只有山东科技大学的pu账号,无法知晓其他学校的活动类型信息,故此方面可能有错误。 > > 如果遇到错误请再issue里提出并附上日志,作者会尽快修复。 - 你的年级(23、24、25等),程序会列出来选择你对应年级的索引即可。索引从0开始位于左上角,示例如下: ```txt 当前类型: 参与年级 0: 年级:25 1: 年级:24 2: 年级:23 3: 年级:22 4: 年级:21 5: 年级:20 6: 年级:19 7: 年级:18 请选择您的年级:2 ``` - 想参加哪个院系举办的活动 和上方添加活动类型相似,故不再例举 3. 程序会列出所有符合条件的活动,每个活动会显示: - 活动名称 - 开始报名时间 - 活动分类 - 举办组织 - 能获得的分数 4. 看到想报名的活动就输入 `y` 添加到列表 > [!TIP] > 本项目任然保留了旧版手动填写活动id的功能。 > 请在 `user_data.json` 中找到你的信息,然后在 `"activity_ids"` 后方的 `[]` 中添加活动id。 > 多个活动id之间用英文逗号隔开。`,` > > > [!NOTE] > 注意活动时间和你的课表等活动不要冲突哦! --- ### 第三步:坐等自动报名 添加完活动后,程序会自动: **提前准备** - 活动实时监控,避免主办方更改时间导致报名失败 **精准计时** - 自动对时,确保报名时机分毫不差 **快速报名** - 活动一开始就用多个线程同时帮你报名 **及时通知** - 报名成功会发邮件告诉你好消息 > [!IMPORTANT] > 在程序运行报名期间,请确保电脑正常运行,不要关机或者休眠。 > 因为这样可能会终止或暂停线程,导致报名失败哦。💔 --- ## 邮件通知设置(可选但推荐) 电脑不在身边,不想打开app查看结果~~广告太多了,一不小心就给我下个赖安装包🙄~~,但想要即时收到报名结果通知?跟着下面的步骤设置: 1. 在工具文件夹里新建一个文件,名字叫 `.env` 2. 打开这个文件,输入以下内容: ``` INFO_EMAIL_SERVER=smtp.qq.com INFO_EMAIL_PORT=465 INFO_EMAIL_HOST=你的QQ邮箱@qq.com INFO_EMAIL_SMTP_PASS=你的QQ邮箱授权码 ``` **怎么获取QQ邮箱授权码?** 1. 登录你的[QQ邮箱]([登录QQ邮箱](https://mail.qq.com/)) 2. 点击`设置` → `账户` 3. 找到`POP3/SMTP服务`,点击`开启` 4. 按提示发送短信,就能获得授权码了 **其他邮箱设置** : - **163邮箱**:服务器改成 `smtp.163.com` - 其余的邮箱请自行登录在设置里查看smtp服务器地址和端口号 ## 自定义配置 - 如果你想修改报名策略:先进入`/utils/activity_bot.py`,然后找到`_start_signup_threads`(启动发送报名请求线程)和`_signup_worker`(发送报名请求),根据注释信息适当进行修改。 - 邮箱启用开关在根目录下的`config.py`里。 - 如果你想调整活动监控时间,任然先进入`/utils/activity_bot.py`,找到`_monitor_start_time`函数,修改`min_minutes`和`max_minutes`参数。 --- ## 报名成功秘诀 ### 提高成功率的小技巧: 1. **网络要稳定** - 避免使用外网,同时确保网络稳定 > [!TIP] > 如果不知道是否畅通,请登录 **[PU口袋校园官网](https://class.pocketuni.net/)** 进行验证 2. **时间要准确** - 工具会自动对时,但电脑时间也要设置正确 3. **信息要准确** - 学校、院系等信息一定要填对 4. **提前添加活动** - 不要等到最后一刻才设置 --- ### 常见问题和解决办法: **Q: 登录失败了怎么办?** A: 检查用户名密码对不对,确认能在PU网页正常登录,检查网络环境 **Q: 找不到想报名的活动?** A: 检查筛选条件是不是太严格了,试试放宽条件 **Q: 报名失败了怎么办?** A: 可能是名额满了,或者不符合参加条件 **Q: 收不到邮件通知?** A: 检查邮箱设置对不对,看看logs里的错误日志信息,检查垃圾邮件文件夹 --- ## 安全使用指南 ✅ **可以做的**: - 在自己的电脑或者服务器上使用 - 帮同学朋友报名(经过他们同意) - 合理使用,不要恶意刷活动 > [!WARNING] > 由于账密是明文存储的,泄露可能导致账号封禁、身份信息泄露等一系列后果。 > **请务必在相信的环境下使用** 🔐 ❌ **不能做的**: - 不要在公共电脑上保存账号密码 🚫 - 不要泄露他人的账号信息 🚫 - 不要用来干扰正常的活动报名秩序 🧨 --- ## 遇到问题怎么办? 1. **先看看常见问题** - 上面的解决办法能解决大部分问题 2. **检查网络连接** - 确保网络正常,能访问PU口袋校园 3. **重新运行试试** - 有时候重新启动就能解决问题 4. **寻求帮助** - 可以在GitHub上提交问题,大家一起解决 --- **祝您大学生活不再受PU困扰!**