AnGelBot-Portal²

Normale Version: VBS + MySQL Tutorial
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
MySQL Tutorial 1 by Spiky

Guten Tag,
ihr wollt eine MySQL Tabelle für euren Bot haben?
Ihr möchtet diese nutzen um Daten einzutragen die Ihr dann per PHP oder ähnlichem Abfrufen wollt?
Oder nur einfach Auslesen?
Dann seid Ihr Hier richtig . . .

Als erstes braucht Ihr natürlich den AnGelBot . . . logisch oder ?
Dann braucht Ihr eine Datei mit der endung "DSN" . . .
Ihr könnt diese Datei beliebig nennen ich nenne meine nun "AnGelBot.dsn" . . .
Diese datei ist in dem Ordner wo auch die "AnGel.exe" ist . . .

Diese Datei besteht aus folgendem Inhalt . . .

Code:
[ODBC]
DRIVER=MySQL ODBC 3.51 Driver
UserCommitSync=Yes
Driver32=C:\WINNT\System32\myodbc.dll
Database=<datenbank-name>*
Option=0
Password=<password>*
Port=<port>*
User=<user-name>*
DSN=datenbank
Server=<host-name>*

Ich glaube Windows XP user müssen dazu erst einmal ein Treiber Installieren . . .
Und zwar den "MySQL ODBC 3.51 Driver" ganz einfach bei Google suchen . . .

Wichtig sind nur die sachen wo ein * hinter ist da tragt Ihr dann eure richtigen MySQL daten ein . . .

Nun müssen wir erstmal eine SQL Tabelle erstellen nennen wir sie mal "anwesenheit" bestehend aus 3 Spalten "| Channel | Nick | Datum |" . . .
Der SQL Command dafür wäre . . .

Code:
CREATE TABLE `anwesenheit` (
  `Channel` text NOT NULL,
  `Nick` text NOT NULL,
  `Datum` text NOT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1;

Sobald diese erfolgreich erstellt wurde gehen wir weiter zum Script

Das Script ist eigentlich ganz simple . . .

Code:
Dim DBConn

Sub Init()
  Script "MySQL Script by Spiky"
  Set DBConn = LoadDSN("AnGelBot.dsn")
  Hook "Unload"
End Sub

Sub Unload()
  CloseDSN DBConn
End Sub

Das ist schonmal das Grundgerüst bei einem MySQL VB Script

Nun könnt Ihr z.b. was eintragen dafür braucht Ihr erstmal einen Command da nehmen wir mal einen Triggen also brauchen wir eine Sub Chan_Msg

Code:
Dim DBConn

Sub Init()
  Script "MySQL Script by Spiky"
  Set DBConn = LoadDSN("AnGelBot.dsn")
  Hook "Unload"
  Hook "Chan_Msg"
End Sub

Sub Unload()
  CloseDSN DBConn
End Sub

Sub Chan_msg(Chan, Nick, RegUser, Line)
  If (LCase(Param(Line,1)) = CommandPrefix & "sql") And MatchFlags(GetUserChanFlags(RegUser, Chan), "+n") Then
    'Nun wollen wir mal ein paar einfache Infos einfügen "| Channel | Nick | Datum |"
    SQLExecute DBConn, "INSERT INTO anwesenheit (Channel,Nick,Datum) VALUES('" & Chan & "', '" & Nick & "', '" & Date & "'')"
  End If
End Sub

Fertig und schon steht der Channelname, Nick und Datum in der SQL

Ihr könnt auch noch abfragen machen wie z.b.

Code:
Set RS = SQLExecute(DBConn, "SELECT * FROM anwesenheit WHERE `Channel`='" & Chan & "'")
    If RS.EOF Then
      'wenn da noch nichts von diesem Channel zu sehen ist erstellt er ne neue Zeile
      SQLExecute DBConn, "INSERT INTO anwesenheit (Channel,Nick,Datum) VALUES('" & Chan & "', '" & Nick & "', '" & Date & "'')"
    Else
      'wenn es eine zeile mit diesem Channel gibt Updaten wir einfach die zeile mit Nick und Datum
      SQLExecute DBConn, "UPDATE anwesenheit SET Nick = '" & Nick & "', Datum = '" & Date & "' WHERE `Channel`='" & Chan & "'"
    End If
  Set RS = Nothing

Nun könnt Ihr weiter machen ihr müsstest dazu einfach ein paar SQL und VBS kentnisse haben aber die grundlage habt ihr schon einmal viel spaß
Nette Sache, nur falsches Forum :>

Ich schiebs mal
danke . . .

Naja war auch spät gestern da kann das schonmal passieren ^^
Jo ist ja kein Ding, kann vorkommen sowas.
War am überlegen ob ichs schieben soll und habe mich dann dazu entschlossen. Ich finde hier passts einfach besser Smile
hehe
Hm, da fehlt eindeutig noch ein Beispiel zum auslesen der Daten Wink
jo fehlt auch ^^ muss ich irgendwann mal updaten...
Christian, kommt da noch in absehbarer Zeit eine Anleitung wie man Daten aus der (einer) Datenbank ausliest?

Ansonsten kann mir evtl. jemand anders helfen ?
Ich habe eine Datenbank die User per php script füttern, bzw aktualisieren.
Nun würde ich gerne einige Daten per Bot auslesen lassen und im IRC wiedergeben lassen.

z.b. !forschungsstufe Nick

Der Bot soll dann in der Db den Datensatz auslesen und im Chan wiedergeben
User Nick hat forschungsstufe 10

Für ein kleines Script wäre ich sehr dankbar, da ich leider vom scipten keine Ahnung habe.
Referenz-URLs