SILC/Link

Aus C3D2
Zur Navigation springen Zur Suche springen



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.