[[Kategorie:SILC]][[Kategorie:Projekt]][[Kategorie:C]][[Kategorie:Archiv]]

{{Project Info|
Name=Link|
About=Link ist ein von [[Benutzer:Sven|Sven]] geschriebener SILC-Bot|
Home=http://wiki.c3d2.de/SILC/Link|
Repository_type=SVN|
Repository=svn://svn.c3d2.de/silc-bots/link|
Source=https://trac.c3d2.de/silc-bots/browser/link|
Documentation=https://wiki.c3d2.de/SILC/Link|
Tracker=https://trac.c3d2.de/silc-bots|
Lang=C, Ruby
}}


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 [http://www.zelda.com/ 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 [http://onlinegamegroup.com/projects/libstrophe 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 ([http://www.jabber.org/jeps/jep-0004.html 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 [http://www.dvbag.de/inhaf/verbindung/verbindung.asp] 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.

[[Benutzer:Astro|Astro]] hat dafür mal eben Ruby-Klassen gebaut (funktionierend!). Source kann bei ihm abgeholt werden.
