如何使用 Irssi 将彩色文本写入 irc 频道?

Posted

技术标签:

【中文标题】如何使用 Irssi 将彩色文本写入 irc 频道?【英文标题】:How can I write colored text to irc channel with Irssi? 【发布时间】:2014-03-15 20:05:36 【问题描述】:

我现在整天都在谷歌上搜索,我正在寻找一种方法来编写具有不同颜色的文本,就像我在其他 IRC 频道上经常看到的那样。我想通过基于 CLI 的 Irssi 来实现这一点。我发现了多种没有按预期工作的方法。例如,我该怎么写

WHAT

以绿色为例?

我也想通过一个简单的 Bash 脚本来达到同样的效果。因此,如果有人过去经历过这种情况,那将对我有所帮助。

【问题讨论】:

参见例如wikipedia 是的,我已经这样做了,但它不起作用也许你可以举个例子?也许我做错了什么 【参考方案1】:

首先,确保启用文本颜色

/set hide_colors OFF

在 Irssi 中,要回答您的具体问题,请键入

Ctrl+C 3 WHAT

然后输入。文本将显示为绿色。此约定称为mIRC colour codes。为了让它更舒适,请下载colour_popup 脚本,将其放在您的~/.irssi/scripts/autorun 文件夹中并运行以下命令:

/statusbar prompt add -after input -alignment right colours

然后它会在你输入 Ctrl + C 后显示可用的颜色。

另一方面,对于 Bash,您需要使用 ANSI colour codes。要输出绿色文本,请尝试以下命令:

printf "\e[%dm%s\e[m\n" 32 hallo

\e[ 是 CSI(终端控制序列开始),m 是命令;这意味着字符图形属性,如颜色、粗体、...

3指暗淡的前景色表,2为绿色;有效颜色为 0-7。鲜艳的颜色是90-97;背景颜色为 40-47 和 100-107。使用其他编码可以提供更多颜色,例如 256 色表 "38;5;<idx>" 其中<idx> 是从 0-255,或 24 位 RGB 颜色 "38;2;12;34;56"(12/255 红色,34/255 绿色,56/255蓝色的);并非所有终端都支持。

【讨论】:

首先可能值得一提的是如何启用文本颜色。一些 Linux 发行版在默认配置中禁用它们。由于显然您自 1 月份以来就没有登录过,所以我冒昧地将其编辑到您的答案中。 @Staven /set hide_colors OFF 似乎不起作用。我可以在传出消息中看到它,但在传入消息中看不到。知道如何解决这个问题吗? 这对我在 Windows 上的 PuTTY 中不起作用。当我按下 Ctrl+C 时,irssi 在我的输入窗口中以反色显示C,当我按下“3”时,它只是像往常一样向输入缓冲区添加一个 3。有什么建议吗? @DavidGrayson 只有在作曲时才会这样显示。按下 Ctrl+C 后,一个反色的 C 将显示在您的输入窗口上,添加一个“3”后,它就像往常一样简单地添加到输入缓冲区中。然后将您想要的文本附加为绿色,例如。 “hello world”并发送它(您可能想要使用空通道或/查询自己进行这些测试)。在频道中查看时,会显示一个绿色的“hello world”(实际上,Ctrl+C 和 3 是在线发送的,但由 irc 客户端解析以确定如何显示)。

以上是关于如何使用 Irssi 将彩色文本写入 irc 频道?的主要内容,如果未能解决你的问题,请参考以下文章

如何使用 Bash 编写的 IRC 机器人从 IRC 频道读取消息?

Irssi 循环通过频道中的用户

自动加入 Irssi 中所有当前打开的频道

Irssi Error [Cannot assign requested address: x.x.x.x]

如何使用 Twisted 列出 IRC 服务器的频道

irssi忽略退出,加入消息