tdmalone/slackemon

此包已被废弃,不再维护。未建议替代包。

受精灵宝可梦Go启发,现在你可以在Slack上收集宝可梦并与队友战斗!

v0.0.49 2017-07-18 12:24 UTC

README

Follow Slackémon on Twitter!

Latest Release Join us on Slack!
Linux build status Windows build status Docker build status Codacy code quality grade Coverage status

受精灵宝可梦Go启发,现在你可以在Slack上捕捉宝可梦并与队友战斗!

此程序非常处于开发中,应被视为非常 ALPHA 版本。如果您有任何问题,欢迎记录问题,但请注意代码可能杂乱/不完整,有些功能可能无法使用。此外,并非所有机制都已实现。我们正在努力!

Deploy to Heroku
完整的Heroku部署说明
向下滚动以获取更多设置选项

屏幕截图

Pokemon spawn              Achievements screen

更多截图

功能

  • 捕捉随机出现的野生宝可梦,并建立你的收藏
  • 在宝可梦世界的不同地区“旅行”,以找到不同的野生宝可梦
  • 与野生宝可梦战斗,使其更容易捕捉,并提升你自己的宝可梦等级
  • 与你的队友战斗,看看谁是最强的!
  • 与你的队友竞争,看看谁先填满他们的宝可梦图鉴
  • 捡起随机出现的“地面”上的物品:教你的宝可梦新的技能,并进化一些宝可梦!
  • 支持基于等级、幸福、一天中的时间、物品使用、已知技能/技能类型进化的功能
  • 管理你的宝可梦收藏的工具
  • 实时天气集成,以提高在雨天捕捉水系宝可梦等的机会
  • 添加自定义逻辑以控制传奇宝可梦何时可以出现
  • 实现IVs、EVs、幸福、性格和成长率
  • 实现带有PP、伤害类别、STAB、类型效果、后坐力和吸血的伤害技能
  • 昏迷、受伤和PP低的宝可梦经过一段时间后会自动恢复
  • 尊重用户的Slack DND设置,因此没有人会因为数百个未捕捉的宝可梦而醒来
  • 包括用户特定的“离线模式”,因此可以在不需要干扰时关闭游戏

要求

  • 运行PHP7的Web环境
  • 访问Slack组织(如果为免费组织,安装此软件将占用你10个集成中的一个)
  • 可选: OpenWeatherMap 的API密钥,以启用基于现实世界天气的功能
  • 可选: AWS S3 存储桶,以在缓存图像资源时提高性能

设置

Slackémon的设置 并不 快速。这可能在将来得到进一步改进。目前,有很多步骤!

  1. 下载/克隆等此存储库的内容,并将其放置在运行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部署
  2. 登录到您的Slack团队,访问 https://api.slack.com/apps?new_app=1 创建一个新应用。您可以命名为任何您喜欢的名字,但“Slackémon”通常效果最好!然后您可以通过Slack的界面设置应用功能。
  3. 设置Slack的交互式消息
    1. 从您的应用控制页面,在侧边栏的“功能”下,点击“交互式消息”
    2. 对于请求URL和选项URL,输入您托管Slackémon的地址(例如 http://example.com/slackemon
  4. 设置Slack的slash命令
    1. 从您的应用控制页面,在侧边栏的“功能”下,点击“slash命令”
    2. 创建一个新的命令,命名为 /slackemon。将请求URL设置为上面使用的相同URL。
    3. 输入任何您喜欢的描述 - 这是在您的团队开始键入 /slacke.... 时显示的内容。例如“捕捉宝可梦并与您的队友战斗!”通常效果很好。
    4. 不要勾选“Escape channels...”复选框,然后点击保存。
  5. 设置权限并将应用安装到您的团队
    1. 从您的应用控制页面,在侧边栏的“功能”下,点击“OAuth & Permissions”
    2. 向下滚动并添加以下权限范围
      • dnd:read
      • chat:write:bot
      • users.profile:read
      • users:read
    3. 点击“保存更改”,然后在页面顶部,点击按钮将应用安装到您的团队,并授予其请求的权限。注意您的OAuth访问令牌。
      • 此时,如果您在免费的Slack团队上,Slackémon将占用您10个可用集成中的一个。如果您已经使用了10个集成,您需要在 https://YOUR-DOMAIN.slack.com/apps/manage 完全删除一个,然后再添加Slackémon - 或者您可以选择升级到付费的Slack计划。
  6. 返回到您的应用的“基本信息”页面,并滚动到底部的应用凭据部分。注意 验证令牌
    • 您还可能想为您的应用设置一个图标,使消息看起来更漂亮 - 这个宝可梦球 是一个好图标!
  7. 设置您的环境变量,无论是通过将 .env.example 复制到 .env(仅开发模式 - 请参阅文件中的说明),还是在您的环境中设置变量(推荐)。无论如何,请参阅 .env.example 了解设置变量的说明。
  8. 在您系统的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等服务。
  9. 是时候安装自定义表情包了!需要安装的内容很多,所以我们使用了优秀的 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上的工作变得乐趣无穷,而不是痛苦。谢谢你们!

许可

License FOSSA Status

Slackémon - 在Slack上与你的队友一起捕捉和战斗宝可梦
版权(C)2016-2017,Tim Malone 及贡献者。

本程序是自由软件:您可以自由重新分发和/或修改它,前提是您必须遵守自由软件基金会发布的GNU通用公共许可证的条款,无论是许可证的第3版,还是(根据您的选择)许可证的任何后续版本。

本程序分发时附带“按原样”保证,没有任何形式的保证,甚至不保证其适销性或适用于特定目的。有关详细信息,请参阅GNU通用公共许可证