Reddit的Crunchyroll Guest Pass出版商
crunchy-bot的Python项目详细描述
Crunchybot
说明:
这是一个简单的bot/脚本,我做了发布我的crunchyroll客户通行证到reddit。 它使用硒和铬从Crunchyroll提取有效的客人通行证 然后praw发布/r/crunchyroll的每周megathread。这不是机器人做的 无限期地运行;但是,如果需要的话,可以改变它。 它与任务调度器/cronjob一起使用,每月检查一次 (或者四张,如果你想在客人通行证到期前将其发布在一组中)用于新的客人通行证。
更改:
由于praw库的变化,所有用户现在都必须创建 reddit script app。 因此,数据文件现在必须包含其他数据。有关如何设置此设置的快速指南,请参见下文。
从4.0.0
开始,将不包括chromedriver
和其他工具的二进制文件。
请参考link
关于设置和安装chromedriver
。
设置reddit帐户:
- 登录到bot帐户。
- 从右上角转到bot帐户的
preferences
。 - 单击
apps
选项卡。 - 单击
create another app
。
- 如果没有应用程序设置,按钮测试可能会出现不同的情况。
- 在提示中,确保切换了
script
单选按钮并redirected uri
设置为http://localhost:8080
。其他领域 可以装满你想要的任何东西。 - 完成后单击
create app
按钮。 - 现在您应该看到已创建的应用程序。在名字的正下方和
personal use script
的下方将是您的client_id
。在这个框中,单词secret
右边是您的client_secret
。
先决条件:
你需要在你的系统上安装chrome的默认安装路径。
这是因为chromedriver
正在使用chrome安装来检索
Crunchyroll客人通行证。
注自4.0.0
起,将不提供chromedriver
。
请参考link
设置时。
安装:
pip install crunchy-bot
设置:
运行crunchy init
生成配置文件:
{"crunchy_username":"crunchy_user","crunchy_password":"crunchy_pass","reddit_client_id":"client_id","reddit_client_secret":"client_secret","reddit_user_agent":"CrunchyBot:v4.0.0 (hosted by /u/{YOUR_USERNAME})","reddit_username":"reddit_user","reddit_password":"reddit_pass","log_dir":"/tmp/crunchybot/logs"}
或者保存到~/.crunchybot
。
执行crunchy publish [--config path/to/.crunchybot] [--debug/-d]
开始报废和发布。
开发
使用pipenv
假设您的系统上安装了pipenv
,请在repo中运行以下命令:
$ pipenv --three
这将为crunchybot设置一个虚拟环境,使其在不干扰您的 其他python项目。
初始化pipenv
后,运行:
$ pipenv install
这将使用Pipfile
和Pipfile.lock
来获取和验证依赖项。运行pipenv shell
到
在生成的虚拟环境中执行shell。
无pipenv
通过运行以下命令安装praw和selenium:
$ pip install -r requirements.txt
无论是否使用pipenv
进行设置后,在存储库中运行pip install -e .
。这个
应该安装本地版本的crunchy_bot
及其cli。这也会产生
使用setuptools_scm
的version.py
。
在本地进行和测试更改。欢迎拉取请求。
自动:
OSX/Linux
运行crontab -e
并添加
0 0 1 * * zsh -lc "/path/to/crunchy publish"
您可以用shell的等价物替换zsh -lc
。这主要是为了执行你的个人资料
可处理设置PATH
和其他运行所需环境变量的预置。
窗口
以每月一次的频率将python脚本添加到windows任务调度程序中。 这是一张link 设置任务计划程序。
Github
您还可以分叉此存储库并利用Github Actions
在每个月的第一天运行此任务。
必须将所需数据添加为所有cap snake case secret变量。