Eggdrop TCL Script “BBTime”
BBTime – Beschreibung
BBTime ist ein sehr simples Eggdrop TCL Script, welches bei der Eingabe von “Be Back Later” Abkürzungen wie z.B. bb2h (“Be Back Later by 2 hours”) anspringt und eine kleine Antwort dazu ausgibt. Bei der nächsten Aktion des Users wird er wieder begrüßt.
Konkret sieht dies wie folgt aus:
[03:51] <@clansuite|xsign> bb1h
[03:51] <+csweetie> clansuite|xsign: See you in 1 hour!
[03:51] <@clansuite|xsign> wuff
[03:51] <+csweetie> clansuite|xsign: Welcome back!
[03:51] <@clansuite|xsign> bb20m
[03:51] <+csweetie> clansuite|xsign: See you in 20 minutes!
[03:51] <@clansuite|xsign> wuffwuff
[03:51] <+csweetie> clansuite|xsign: Welcome back!
BBTime ist eines der wenigen Scripte, die ich persönlich aus reiner Neugier an der Sprache TCL gescriptet habe.
Demo
Eine Live Demo gibt es bei uns im Quakenet ( irc.quakenet.org:6667 ) Channel #clansuite .
Installation
Die Installation von BBTime gestaltet sich wahrlich einfach.
- .tar.gz oder .zip im Eggdrop Ordner “/scripts/” entpacken (tar -xvf bbtime.tar.gz oder unzip bbtime.zip)
- eggdrop.conf (oder die von Ihnen gewählte Konfigurationsdatei) ganz am Ende editieren und folgende Zeile einfügen: source scripts/bbtime.tcl
- Danach entweder den EggDrop über die Partyline per .rehash erneut laden oder ihn auf der Console via killall -9 eggdrop beenden und neustarten.
Download
TAR/GZIP Package – BBTime v0.1
License
LGPL v2 o later at your choice.
Sourcecode
#####################
#
# BBTime v0.1
#
#####################
# Usage #
#########
# The Script will react to the following commands:
#
# bb1h - "Nickname: See you in 1 hour"
# bb1m - "Nickname: See you in 1 minute"
# bb1d - "Nickname: See you in 1 day"
#
#############
# Copyright #
#############
#
# Copyright (c) , 2008 - onwards Florian Wolf
# All Rights Reserved.
#
# License: LGPL v2 or later at your choice
# URL: http://www.xsigndll.de
# URL: http://www.clansuite.com
#
####################
set ::users [list]
set ::found 0
set ::in_bb 0
proc bb_time {nick uhost hand chan arg} {
if [ regexp bb(\[0-9\]+)(\[h|m|d\]) $arg match time name] {
set ::in_bb 1
if { $time > 0 } {
switch $name {
h {
set timeName hour
}
m {
set timeName minute
}
d {
set timeName day
}
}
if { $time >= 2 } {
set timeName ${timeName}s }
putserv "PRIVMSG $chan :$nick: See you in $time $timeName!"
foreach i $::users {
if { $i == $nick } {
set ::found 1
}
}
if { $::found == 0 } {
lappend ::users $nick
}
set ::found 0
}
} else {
}
}
proc bb_check {nick uhost hand chan arg} {
if { $::in_bb == 1 } {
set ::in_bb 0
} else {
foreach i $::users {
if { $i == $nick } {
putserv "PRIVMSG $chan :$nick: Welcome back!";
lremove ::users $i
}
}
}
}
proc lremove {listVariable value} {
upvar 1 $listVariable var
set idx [lsearch -exact $var $value]
set var [lreplace $var $idx $idx]
}
bind pubm - "* *" bb_check
bind pubm - "* bb%" bb_time
### End ###
putlog "BB Time loaded: bbtime.tcl by xsign.dll "
Ein Kommentar hinterlassen
Du musst eingeloggt sein, um ein Kommentar zu hinterlasen.