问题标签 [irc]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
1423 浏览

c# - C# irc bot 连接类

好吧,我正在制作一个 irc 机器人,我想知道有几种方法可以创建一个连接类,这样我就可以连接到多个网络,我让它连接到一个服务器,我只是不知道如何把它变成一个连接多个的方式。

基本上我的问题是:我怎样才能使用我编写的当前机器人,重写它,使用可以重用的连接类来建立多个连接。

0 投票
7 回答
9658 浏览

irc - 确定用户是否在 IRC 上标识

在我的 IRC Bot 中,有一些命令我希望只能由我使用,并且我想检查以确保使用我的名字的任何人都被识别为 nickserv (idented)。但是,我无法找到一种简单的方法来确定这一点,这就是我在这里的原因。

如果重要的话,FreenodeRizon是主要的目标网络。

编辑:我实际上知道识别用户的各种用户模式(尽管我没有足够注意意识到它们不同!);很抱歉之前没有提到这一点。但是,我从用户那里得到的原始响应不包括他们的用户模式;它看起来像这样:

那么,我想我正在尝试找到一种方法(使用各种 ircd,grr)来获取这些标志。如果正如有人提到的那样,Rizon 返回是否有人在 WHOIS 查询中被识别,那么这就是我正在寻找的东西。

0 投票
1 回答
156 浏览

c# - 线程/Linq 类列表问题

我最近编写了一个非常复杂的多服务器 IRC 机器人,但遇到了一个问题。我已经尽可能地精简了代码,可以在这里查看。

我的问题是,当我调用Disconnect()连接时,连接无效,而不是断开并关闭给定的服务器。它也只是冻结调用类而不是停止该类的正确实例。

任何有关类似问题的帮助或经验将不胜感激。如果可以,请包含代码。

0 投票
2 回答
856 浏览

multithreading - (Delphi 2009) idIRC、MDI 和挂起问题

我正在开发一个 IRC 客户端。我遇到了一个专业的障碍,直到没有我能够解决。我将在下面显示代码。我遇到的问题是在 idIRC 的事件处理程序中创建 MDI 子窗口。

例如,如果我想创建一个新的频道表单(FrmChannel),我可以通过在捕获“/join”命令时调用它的创建过程来轻松完成此操作。

但是,如果我想以正确的方式进行操作,并等到我真正加入频道,并从服务器接收确认(通过在 onjoin 事件处理程序中处理它),那么我对表单创建过程的调用会导致要挂起的应用程序。

状态窗口也是如此。例如,如果我将状态窗口创建过程调用放在 TButton 的 onclick 事件上,那很好。子窗体已创建。但是,如果我在实际收到私人消息时尝试同样的事情,通过检查事件处理程序......应用程序挂起,没有异常,也没有 MDI 子级。

这是相关代码(为了解决这个问题,我将只处理查询窗口)。

首先,实际的 MDI Child 创建过程是这样的。我在这里有一个 TComponentList 来管理此类表单的列表(以防您想知道)。这里还有一些其他的东西也可以跟踪表单,尽管将它们注释掉并不能阻止挂起(我已经尝试过)。

这是我的 IRC 组件的事件处理程序:

我已经尝试注释掉代码的各个部分以试图找出挂起的原因。挂起是由 Child := TFrmMessage.Create(Application); 引起的 专门打电话。是什么赋予了?

我已经尝试实现线程,看看这是否可能是一个问题。如果这就是您认为的问题所在,我将需要线程方面的帮助,因为显然尽管代码正在编译,但我仍然调用错误(因为即使我的线程版本挂起)。

提前致谢。

0 投票
4 回答
1741 浏览

php - 在 PHP 中使用 fsockopen() 和 fgets() 时,while() 循环如何不停止?

这是一个小型 PHP IRC 机器人的基本连接代码。问题是,似乎 while() 循环在从 IRC 服务器接收数据之前不会超出 fgets()。无论 IRC 服务器是否尚未发送数据,我都希望 while() 循环进行迭代。这可能吗?

0 投票
3 回答
2238 浏览

perl - 如何使用 Perl 中的 POE::Component::IRC::State 检查用户是否通过 NickServ 进行了身份验证?

我正在尝试测试用户是否在 FreeNode 上注册。nick_info() 似乎没有返回有关此信息,所以我想使用 $irc->yield(whois => $nick); 然后获取 irc_whois 事件的回复。问题是我想等到这个事件被触发,所以我创建了一个全局变量 $whois_result 并写了一个这样的子:

irc_whois 处理程序看起来像:

不幸的是,循环运行时事件无法触发,因此挂起。我确信有更好的方法可以做到这一点,但我对这种编程还不够熟悉。任何帮助将不胜感激。

0 投票
2 回答
273 浏览

c# - IRC 机器人中的插件权限

我和我的朋友正在编写一个 C# IRC Bot,它允许用户通过插件扩展它的功能。我们需要它,以便每个命令都能够拥有自己的权限。这样只有特定级别或更高级别的用户才能执行该命令。我们很难决定如何做到这一点。

权限系统为 1-10。1 是特权最少的,10 是最多的。每个用户将被分配一个 1-10 的权限。每个命令还将为自己分配所需的权限级别。我的问题本质上是:我如何制作一个每个命令权限系统,其中的插件能够在其中包含多个命令。

我希望 Stack Overflow 的好人能帮助我。请耐心等待,因为这是我在这里提出的第一个问题。任何帮助将不胜感激!谢谢!

0 投票
4 回答
24295 浏览

c# - C# 中的 IRC 库

我想在我的程序中嵌入一个小的聊天窗口,作为一个基本的 IRC 客户端。这需要有限的功能,例如连接、断开连接、列出用户和发送私人消息。

在撰写本文时,我已经尝试了几个臃肿的库,这使得创建一个简单的应用程序变得非常困难(连接许多事件,处理我不感兴趣的通道、模式等)。我尝试过的其他库是为旧版本的 .NET 开发的,并且充满了弃用警告。如何在 C# 中开发轻量级 IRC 客户端?

0 投票
2 回答
1239 浏览

python - buildbot:使用 SSL 连接到 IRC 服务器

如何使用 buildbot 的 IRC 机器人连接到需要 SSL 连接的 IRC 服务器?

0 投票
2 回答
2279 浏览

message - 频道的 MOTD

当用户加入频道时,有没有办法在用户的频道输出中显示文件/文本字符串?这是否必须在 irc 配置中发生在服务器端,或者机器人可以这样做吗?