SILC/Link
Link | |
---|---|
Link ist ein von Sven geschriebener SILC-Bot | |
Home: | http://wiki.c3d2.de/SILC/Link |
Meta | |
Sprachen: | C, Ruby |
Plattformen: | Beliebig |
Links | |
Repository | |
SVN: | svn://svn.c3d2.de/silc-bots/link |
Link ist ein SILC-Bot, der zur Zeit im Channel c3d2 und bsd-crew verweilt. Der Name wurde inspiriert durch den Helden des genialen Spiels Zelda.
Den Code gibt es unter http://trac.c3d2.de/silc-bots/browser/link bzw unter svn://svn.c3d2.de/silc-bots/link.
Befehlsübersicht
Standard-Befehle
!excuse
BOFH Excuse anzeigen
!fortune
Fortune Cookie anzeigen
!google [<Anzahl der Hits>] <suchbegriff>
Nach <suchbegriff> googlen. Die Anzahl der Hits kann angegeben werden (von 1 bis 10) standard ist 1.
!help link
Eine Befehlsübersicht anzeigen.
!host <hostname>
<hostname> auflösen (entspricht `host <hostname>`).
!host6 <hostname>
<hostname> auflösen (entspricht `host -t aaaa <hostname>`).
!ping <host>
<host> anpingen.
!ping6 <host>
<host> über IPv6 anpingen.
!service <ausdruck>
In /etc/services nach <ausdruck> greppen.
!trace <host>
Ein traceroute auf <host> machen
!whois <domain>
whois-Abfrage nach <domain>
!whoiswho <nick>
Zuordnung von <nick> zur Liste bekannter Nicks
!wiki <topic>
Wikipedia-Artikel zu <topic> zeigen. (zur Zeit disabled weil da ziemlich viel Text kommt)
Master-Befehle
Für folgende Befehle muss man der Gruppe Master oder God angehören.
link: autoop
Alle Mitglieder der Gruppen God, Master und Operator oppen.
link: listen <group>
Stellt ein von wem Link Befehle entgegennimmt
<group> Gruppe zu der der Benutzer gehoren soll G God M Master O Operator K Known S Slave A All
link: promote <fingerprint> <group>
Gruppenzugehörigkeit eines Benutzers ändern.
<fingerprint> Fingerprint des Nutzers <group> Gruppe zu der der Benutzer gehoren soll G God M Master O Operator K Known S Slave
link: remember <fingerprint> <group> <nick>
Benutzer merken.
<fingerprint> Fingerprint des Nutzers <nick> Nick des Nutzers <group> Gruppe zu der der Benutzer gehoren soll G God M Master O Operator K Known S Slave
link: shutdown
Link beenden (nur für Mitglieder der Gruppe God)
Subversion Befehle
Zur Zeit arbeiten die Subversion-Befehle auf dem Pentabarf-Repository.
!svn log
Log-Message des letzten Commits zeigen
!svn log <revision>
Log-Message von Revision <revision> zeigen.
!svn diff <revision>
Diff zwischen Revision <revision> - 1 und Revision <revision> anzeigen.
Trivia-Befehle
Bevor man am Spiel teilnehmen kann muss man einem Team beitreten.
!trivia on
Trivia-Spiel starten
!trivia off
Trivia-Spiel beenden
!trivia join <team>
Dem Team <team> beitreten. <team> ist enweder red oder blue.
!trivia teams
Informationen über die Mitglieder der Teams anzeigen.
!trivia score
Punkte der Teams anzeigen.
Ideen
Jabber-Nachrichten
Link sollte seinen eigenen Jabber-Account haben, mithilfe dessen er ihm bekannte Nicks darauf aufmerksam machen kann, dass jemand im SILC etwas von ihnen will. Vielleicht auch einen Befehl in der Art "link: tell <JID> ..." mit Antwortmöglichkeit von Jabber aus. Für sowas könnte sich libstrophe eignen.
c3d2.de Bearbeiten
Link (oder ein anderer Bot) sollte im SILC bereitstehen, Artikel im Query entgegenzunehmen und diese dann auf c3d2.de zu veröffentlichen. Auch hier wäre ein gleichzeitiges Jabber-Frontend für die Ultra-Coolness hilfreich, Jabber scheint ja Formulare zu unterstützen. Muss man dazu einen Agent registrieren? Gibt es einen Standard oder JEP dazu (JEP 0004)?
Trivia verbessern
Zur Zeit sind in Trivia ziemlich viele doofe Fragen drin. Mir schwebt es vor für Trivia Fragen-Kataloge einzubauen, die man einzeln aktivieren / deaktivieren kann.
Folgende Fragenkataloge schweben mir vor:
- Akronyme (ARP, BPDU, RADIUS, ...)
- RFCs Protokollen zuordnen und umgekehrt
- Hexadezimale Portnummern Protokolle zuordnen und umgekehrt
!seen-Funktion
Dringend benötigt wird eine !seen <nick>-Funktion. Dabei sollte von der letzten Aktion des Nutzers berichtet werden. Beispiele:
- Eris (colym@::1) has quit 23 minutes ago (Ping timeout)
- Eris (suxor@::1) has left c3d2 5 hours ago (See ya later)
- Eris (fuker@::1) hasn't uttered a word for 42 days, 23 hours, 5 minutes
- ...
Auch Diskordisches Datumsformat wäre geeignet.
!home-Funktion
Es wäre schön, wenn link für Bewohner von c3d2 eine DVB-Verbindung von [1] raussuchen könnte. Antwort sollte als Query erfolgen. Wünschenswerte Syntax:
- !home - Es wird automatisch eine Route vom Aşeg zum Domizil des Fragers - sofern bekannt - ab Zeitpunkt der Frage plus 30 Minuten herausgesucht.
- !home +<Zahl> - Das gleiche ab Zeitpunkt der Frage plus <Zahl> Minuten.
- !home +<Zahl> <Ort> - Route von Aşeg zu <Ort>
- !home +<Zahl> <Ort1> <Ort2> - Route von <Ort1> zu <Ort2>
Die letzten beiden Fragen sollten nur als Query gestellt werden.
Astro hat dafür mal eben Ruby-Klassen gebaut (funktionierend!). Source kann bei ihm abgeholt werden.