btk / triviabot
SlackTrivia机器人的实现
Requires
This package is auto-updated.
Last update: 2024-09-27 22:34:30 UTC
README
在Slack频道中运行的Trivia机器人。
要安装,请运行composer require btk/triviabot dev-master
。
强烈建议将您的web服务器/子域的根目录设置为triviabot/src/webroot文件夹,这样可以将您的db和配置文件等文件远离好奇的目光。
如果您想运行此机器人,需要设置以下内容:
- Slack中的入站Web钩子集成(将这些详细信息放入config.php文件中)
- Slack中的出站Web钩子(将这些详细信息放入config.php文件中)
- 数据库详细信息(将这些信息放入config.php文件中)
- 一种按间隔运行脚本的方式(例如CRON)(您希望尽可能频繁地运行vendor/btk/triviabot/src/run.php)
您的Web服务器应最好使用子域,其中Web根目录是文件夹/vendor/btk/triviabot/src/webroot/,这样您的出站Web钩子URL可以是,例如http://triviabot.example.com/endpoint.php
###示例CRON设置
我在运行脚本之间使用10秒的延迟。我已经测试了在机器人中加载超过30,000个问题,对我来说工作得很好。然而,Cron只能以分钟为最小时间增量。因此,我设置了如下...
* * * * * php /var/www/triviabot/vendor/btk/triviabot/src/run.php
* * * * * sleep 10; php /var/www/triviabot/vendor/btk/triviabot/src/run.php
* * * * * sleep 20; php /var/www/triviabot/vendor/btk/triviabot/src/run.php
* * * * * sleep 30; php /var/www/triviabot/vendor/btk/triviabot/src/run.php
* * * * * sleep 40; php /var/www/triviabot/vendor/btk/triviabot/src/run.php
* * * * * sleep 50; php /var/www/triviabot/vendor/btk/triviabot/src/run.php
问题/提示之间的最小延迟(run.php文件的输出)是20秒,因此这应该能满足我们的需求。
###数据库设置
在vendor/btk/triviabot/文件夹中有一个名为triviabot.sql的文件,您可以将它导入到数据库中,为机器人正确设置表。
###加载问题
问题文件应放在questions文件夹中。包含了一个示例问题文件供参考。要在机器人中加载此文件,请在Slack trivia频道中输入命令!trivia load example.txt
。您应该会收到机器人回复说文件已加载。加载大文件可能需要将您的PHP max_execution_time设置为更大的数值,默认为30秒。将允许我加载一个包含350,000个问题的文件。
我包含了一个名为questions.sql.zip的文件,如果您希望有一个包含超过160,000个问题的预填充列表以开始,可以使用此文件。这包括example.txt中的问题。请通过MySQL而不是通过!trivia load [file]
命令加载此文件