tdmalone / slackemon
受精灵宝可梦Go启发,现在你可以在Slack上收集宝可梦并与队友战斗!
Requires
- php: >=7.0.0
- aws/aws-sdk-php: ^3.28
Requires (Dev)
- codacy/coverage: dev-master
- heroku/heroku-buildpack-php: ^121.0
- phpmd/phpmd: ^2.6
- phpunit/phpunit: ^6.2
- satooshi/php-coveralls: dev-master
- tdmalone/tm-code-standards: *
- vlucas/phpdotenv: ^2.4
This package is not auto-updated.
Last update: 2022-12-10 17:08:29 UTC
README
受精灵宝可梦Go启发,现在你可以在Slack上捕捉宝可梦并与队友战斗!
此程序非常处于开发中,应被视为非常 ALPHA 版本。如果您有任何问题,欢迎记录问题,但请注意代码可能杂乱/不完整,有些功能可能无法使用。此外,并非所有机制都已实现。我们正在努力!
完整的Heroku部署说明
向下滚动以获取更多设置选项
屏幕截图
功能
- 捕捉随机出现的野生宝可梦,并建立你的收藏
- 在宝可梦世界的不同地区“旅行”,以找到不同的野生宝可梦
- 与野生宝可梦战斗,使其更容易捕捉,并提升你自己的宝可梦等级
- 与你的队友战斗,看看谁是最强的!
- 与你的队友竞争,看看谁先填满他们的宝可梦图鉴
- 捡起随机出现的“地面”上的物品:教你的宝可梦新的技能,并进化一些宝可梦!
- 支持基于等级、幸福、一天中的时间、物品使用、已知技能/技能类型进化的功能
- 管理你的宝可梦收藏的工具
- 实时天气集成,以提高在雨天捕捉水系宝可梦等的机会
- 添加自定义逻辑以控制传奇宝可梦何时可以出现
- 实现IVs、EVs、幸福、性格和成长率
- 实现带有PP、伤害类别、STAB、类型效果、后坐力和吸血的伤害技能
- 昏迷、受伤和PP低的宝可梦经过一段时间后会自动恢复
- 尊重用户的Slack DND设置,因此没有人会因为数百个未捕捉的宝可梦而醒来
- 包括用户特定的“离线模式”,因此可以在不需要干扰时关闭游戏
要求
- 运行PHP7的Web环境
- 访问Slack组织(如果为免费组织,安装此软件将占用你10个集成中的一个)
- 可选: OpenWeatherMap 的API密钥,以启用基于现实世界天气的功能
- 可选: AWS S3 存储桶,以在缓存图像资源时提高性能
设置
Slackémon的设置 并不 快速。这可能在将来得到进一步改进。目前,有很多步骤!
- 下载/克隆等此存储库的内容,并将其放置在运行PHP7的某个Web服务器上。
- 下载ZIP 或使用Git克隆:
git clone https://github.com/tdmalone/slackemon.git
- 您可能还需要运行
composer install
来安装依赖项。如果您没有Composer,请先在此处获取。如果您不打算开发Slackémon,您可以通过运行composer install --no-dev
来加速依赖项的安装。
- 您可能还需要运行
- 使用Composer安装:
composer require tdmalone/slackemon
- 使用Docker部署
- 使用Heroku部署
- 下载ZIP 或使用Git克隆:
- 登录到您的Slack团队,访问 https://api.slack.com/apps?new_app=1 创建一个新应用。您可以命名为任何您喜欢的名字,但“Slackémon”通常效果最好!然后您可以通过Slack的界面设置应用功能。
- 设置Slack的交互式消息
- 从您的应用控制页面,在侧边栏的“功能”下,点击“交互式消息”
- 对于请求URL和选项URL,输入您托管Slackémon的地址(例如 http://example.com/slackemon)
- 设置Slack的slash命令
- 从您的应用控制页面,在侧边栏的“功能”下,点击“slash命令”
- 创建一个新的命令,命名为
/slackemon
。将请求URL设置为上面使用的相同URL。 - 输入任何您喜欢的描述 - 这是在您的团队开始键入
/slacke....
时显示的内容。例如“捕捉宝可梦并与您的队友战斗!”通常效果很好。 - 不要勾选“Escape channels...”复选框,然后点击保存。
- 设置权限并将应用安装到您的团队
- 从您的应用控制页面,在侧边栏的“功能”下,点击“OAuth & Permissions”
- 向下滚动并添加以下权限范围
- dnd:read
- chat:write:bot
- users.profile:read
- users:read
- 点击“保存更改”,然后在页面顶部,点击按钮将应用安装到您的团队,并授予其请求的权限。注意您的OAuth访问令牌。
- 此时,如果您在免费的Slack团队上,Slackémon将占用您10个可用集成中的一个。如果您已经使用了10个集成,您需要在
https://YOUR-DOMAIN.slack.com/apps/manage
完全删除一个,然后再添加Slackémon - 或者您可以选择升级到付费的Slack计划。
- 此时,如果您在免费的Slack团队上,Slackémon将占用您10个可用集成中的一个。如果您已经使用了10个集成,您需要在
- 返回到您的应用的“基本信息”页面,并滚动到底部的应用凭据部分。注意 验证令牌。
- 您还可能想为您的应用设置一个图标,使消息看起来更漂亮 - 这个宝可梦球 是一个好图标!
- 设置您的环境变量,无论是通过将
.env.example
复制到.env
(仅开发模式 - 请参阅文件中的说明),还是在您的环境中设置变量(推荐)。无论如何,请参阅.env.example
了解设置变量的说明。 - 在您系统的crontab中(例如Linux机器上的
crontab -e
,或在您的托管控制面板中查找Cron选项),设置cron.php
每分钟运行一次,发送您之前创建的cron令牌。- 如果您通过命令行调用,可以使用例如
php /path/to/cron.php --token=XXXXXXXXXXXXXXXXXXXX
- 如果您通过GET请求调用,可以使用例如
http://example.com/slackemon/cron.php?token=XXXXXXXXXXXXXXXXXXXX
- 如果您没有访问cron的权限,可以使用cron-job.org等服务。
- 如果您通过命令行调用,可以使用例如
- 是时候安装自定义表情包了!需要安装的内容很多,所以我们使用了优秀的 emojipacks
- 在命令行中输入
npm install -g emojipacks
(如果您尚未安装Node.js/NPM,请先安装) - 运行
emojipacks -y https://github.com/tdmalone/slackemon/blob/master/etc/emojipack.yml
- 您将需要输入您的Slack子域名(例如
YOUR-SUBDOMAIN.slack.com
- 输入时请省略slack.com
部分)以及您的Slack用户名和密码(Slackémon和emojipacks将无法访问您的登录信息;这仅仅是Slack尚未提供上传表情的API端点所必需的) - 请稍等……一段时间!当脚本完成后,您将拥有近千个新自定义表情,涵盖每一只宝可梦,还有一些Slackémon使用的自定义表情 😃
- 如果您无法在您的Slack组织安装自定义表情,请询问您的团队管理员,或者在环境变量中将
SLACKEMON_ENABLE_CUSTOM_EMOJI
设置为false
。
- 在命令行中输入
做得好,是时候开始玩耍了!现在您应该可以在您的Slack团队中的任何地方运行 /slackemon
来启动快速用户注册过程 👍
未来增强功能
未来增强功能的想法正在逐渐添加到 项目 部分。
您可以通过 里程碑 一般追踪我们目前正在做什么。
用户指南
用户指南将逐步在 此存储库的wiki 中编写。
致谢
Slackémon最初是受 Pokémon Go 的启发。它借鉴了一些Pokémon Go的机制(主要是为了简单起见),但随着时间的推移,目标是尽可能忠实地还原原始宝可梦游戏。
在Slack上实施此想法的灵感来自Robert Vinluan的 Slack中的宝可梦对战机器人。灵感和一些战斗动作数据也来自于 Pokémon Showdown。
感谢那些为整合宝可梦精灵做出努力的人,特别是 PokeCSS。
感谢我的同事 Julian,他在测试(和竞争!)这个项目(在我们的公司Slack组织)中是我的主要玩伴,以及感谢 Alessandro Pezzè 作为第一个加入项目的“陌生人贡献者” :). 您可以在 CONTRIBUTORS.md
中看到完整的贡献者名单。
感谢 Slack 维护了良好的文档和开放的API,并邀请我们在其平台上进行协作。
最后但同样重要的是,如果没有Paul Hallet在Pokéapi上进行的广泛工作,这个项目是不可能实现的。由于Paul和他的团队收集和结构化的丰富且易于访问的数据,我们在Slackémon上的工作变得乐趣无穷,而不是痛苦。谢谢你们!
许可
Slackémon - 在Slack上与你的队友一起捕捉和战斗宝可梦
版权(C)2016-2017,Tim Malone 及贡献者。
本程序是自由软件:您可以自由重新分发和/或修改它,前提是您必须遵守自由软件基金会发布的GNU通用公共许可证的条款,无论是许可证的第3版,还是(根据您的选择)许可证的任何后续版本。
本程序分发时附带“按原样”保证,没有任何形式的保证,甚至不保证其适销性或适用于特定目的。有关详细信息,请参阅GNU通用公共许可证。