【问题标题】:Are additional IRC commands possible by using common IRC clients?使用通用 IRC 客户端是否可以使用其他 IRC 命令?
【发布时间】:2014-10-10 21:02:13
【问题描述】:

我想用 Java 实现 IRC 协议。 一般来说,我对协议中不存在的其他命令有疑问。

例如,添加带有随机数生成的“骰子”命令。 我可以使用 PRIVMSG ("* user_x dices 5") 来实现 DICE 命令。 但是当用户写“/me dices 5”时,这将是完全相同的。 所以这不是一个好方法,因为用户可以作弊;-)。

有没有更好的方法来实现 IRC 的附加命令? 常见的 IRC 客户端如何使用这些命令?

【问题讨论】:

  • 在服务器上解析它们。
  • 当然——但是你怎么回复客户呢?尤其是看到 PRIVMSG : ACTION 和 DICE 之间的区别 - 因为它们看起来应该不同(不适应所有当前的 IRC 客户端)

标签: java irc


【解决方案1】:

某些服务包和 ircd(例如 inspircd、unrealircd)用于允许您将 RAW 字符串推送到客户端:

https://wiki.inspircd.org/InspIRCd_Spanning_Tree_1.2/PUSH

使用它,您可以将频道数字推送给用户,这不能被欺骗。

请注意,这些黑客攻击可能会导致您的客户端与网络不同步(其本地存储的信息与服务器存储的信息不同)。谨慎使用!

请记住,您需要自己运行网络和服务才能执行此操作,并且您的机器人将需要极高级别的权限,因此您不能只在 freenode、efnet 等上执行此操作。

您最好将其作为服务包中的一个模块来执行。

希望这会有所帮助!

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2015-09-21
    • 1970-01-01
    • 2013-11-30
    • 1970-01-01
    • 1970-01-01
    • 2012-09-13
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多