标签: eggdrop

用tcl编写的irc bot如何与python/node.js克隆堆叠?

我相信eggdrop是最活跃/最受欢迎的机器人,它用tcl编写(根据wiki,核心是C,但我还没有确认).

我想知道在node.js或Python中重新编码它的功能是否有任何性能优势,除了使它更易于访问,因为Python和JS可以说是更流行的语言而且很少有人熟悉tcl.

那么,他们如何在整体上以性能方式与tcl进行叠加?

python irc tcl node.js eggdrop

3
推荐指数
1
解决办法
861
查看次数

添加utf-8支持到tcl

set botlisten(port) "3333"
set botlisten(password) "123456"
set botlisten(channel) "#chan"
listen $botlisten(port) script botlisten
proc botlisten {idx} {
    control $idx botlisten2
}
proc botlisten2 {idx args} {
global botlisten newTorrentChannel
set args [join $args]
set botlisten(pass) [lindex [split $args] 0]
set botlisten(message) [join [lrange [split $args] 1 end]]
if {[string match $botlisten(pass) $botlisten(password)]} then {
   putquick "PRIVMSG $botlisten(channel) :$botlisten(message)"
 } else {
  putlog "Unauthorized person tried to connect to the bot"
  }
}  
Run Code Online (Sandbox Code Playgroud)

让我们说消息有这些字符:ąčęėįšųūž所以机器人输出奇怪的字符.所以,在我看来,解决方案是添加utf-8支持.

tcl eggdrop

1
推荐指数
1
解决办法
2519
查看次数

TCL如果在里面的话

我试图只显示if语句的内容,如果if里面是if,则返回所需的值.但是这不起作用,所以我想你不是在TCL中这样做的.任何意见,将不胜感激.

if {$firstq == 1} {
set sql "SELECT * FROM users WHERE username='$text' AND ircban='yes' LIMIT 1"
set result [mysqlsel $db_handle $sql]
    if{$result == 1} {
        putquick "NOTICE $nick :User is banned."
    } elseif{$result == 0} {
        putquick "NOTICE $nick :User is not banned."
}
Run Code Online (Sandbox Code Playgroud)

tcl eggdrop

1
推荐指数
1
解决办法
129
查看次数

标签 统计

eggdrop ×3

tcl ×3

irc ×1

node.js ×1

python ×1