MSN bot 2
Door Mebus Hackintosh, 22 jaar geleden, 9.230x bekeken
Hier de vernieuwdere tutorial MSN bot
Gesponsorde koppelingen
Inhoudsopgave
- Inleiding
- Downloaden en installeren
- De instellingen wijzigen
- Een script maken met XML
- Een script maken via HTTP
- Klaar
Er zijn 74 reacties op 'Msn bot 2'
Gesponsorde koppelingen
Ehmmm ok?.. Heb ik voorzover nog niet gehad. Botje draaid op windows xp sp2 home edition.
517 MHz
mischien even verwijderen en weer opnieuw installeren mischien dat dat helpt anders weet ik het ook niet.
Je kunt gebruik maken van deze link: http://84.105.39.21/botje/BOTJE.class.php
Voor het XML.
Als teveel mensen er gebruik van maken kap ik ermee of mijn database gaan volproppen met onzin...
GR. mebus
517 MHz
mischien even verwijderen en weer opnieuw installeren mischien dat dat helpt anders weet ik het ook niet.
Je kunt gebruik maken van deze link: http://84.105.39.21/botje/BOTJE.class.php
Voor het XML.
Als teveel mensen er gebruik van maken kap ik ermee of mijn database gaan volproppen met onzin...
GR. mebus
erg leuk dit ;)
Ben zelf wat aan het klooien, maar ik krijg wel heel veel elseifjes. Iemand een idee hoe je dit met een array op zou kunnen lossen:
Ben zelf wat aan het klooien, maar ik krijg wel heel veel elseifjes. Iemand een idee hoe je dit met een array op zou kunnen lossen:
Ik maak zelf gebruik van een database en daarin zet ik gewoon wat matches:)
Zoiets anders?
je zouw ook deze match kunnen gebruiken nog:
@wouter, ik zie het die links doen het niet goed de scripts bestaan wel moet je even op die website kijken..
Code (php)
Zoiets anders?
je zouw ook deze match kunnen gebruiken nog:
@wouter, ik zie het die links doen het niet goed de scripts bestaan wel moet je even op die website kijken..
Ik hek gekeken maar ik heb ff een vraagje?
Ik wil dat het botje iets doet wat in de vorige versie kon en nu niet meer.
Dit was als volgt:
Je kon een bericht maken als je bijv. weer typte kreeg je het weer te zien van vandaag dit deed je in v3 met include hoe doe je dat nu?
Ik had bijv.
Maar dit kan niet meer in v4 hoe kan dit weer wel?
Alvast bedankt,
wouter
Ik wil dat het botje iets doet wat in de vorige versie kon en nu niet meer.
Dit was als volgt:
Je kon een bericht maken als je bijv. weer typte kreeg je het weer te zien van vandaag dit deed je in v3 met include hoe doe je dat nu?
Ik had bijv.
Maar dit kan niet meer in v4 hoe kan dit weer wel?
Alvast bedankt,
wouter
Je moet je antwoord tussen:
en
Zetten
Zet dit maar eens in een bestand:
en zorg ervoor dat ie die link oproept en dan iets zegt tegen het botje.
en
Zetten
Zet dit maar eens in een bestand:
Code (php)
1
2
3
4
5
6
2
3
4
5
6
<?xml version="1.0"?>
<Response>
<Message>
Hoi dit is het botje van tom.
</Message>
</Response>
<Response>
<Message>
Hoi dit is het botje van tom.
</Message>
</Response>
en zorg ervoor dat ie die link oproept en dan iets zegt tegen het botje.
Ja maar ik heb dit al staan:
En daar staat al word aray dus is het dan niet overbodig?
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
<?
class Resp {
var $xmlData;
function send() {
$this->xmlData .= '</Response>';
header('Content-Type: text/xml');
echo $this->xmlData;
}
function init() {
$this->xmlData = '<?xml version="1.0"?>';
$this->xmlData .= '<Response>';
}
function addMsg($msg, $newnick = '') {
$this->xmlData .= '<Message'.($newnick != '' ? ' nick="'.htmlentities($newnick, ENT_QUOTES).'"' : '').'>';
$this->xmlData .= htmlentities($msg, ENT_QUOTES);
$this->xmlData .= '</Message>';
}
function buzzer() {
$this->xmlData .= '<Buzzer />';
}
function newNick($nick) {
$this->xmlData .= '<Nick>'.htmlentities($nick, ENT_QUOTES).'</Nick>';
}
function newPSM($psm) {
$this->xmlData .= '<PSM>'.htmlentities($psm, ENT_QUOTES).'</PSM>';
}
function leave() {
$this->xmlData .= '<Leave />';
}
}
// Deze code is ook bekend van versie 3, maar er zijn een paar kleine aanpassingen gemaakt
$woorden = array( // Voeg alle woorden hieronder toe
'hoi' => 'Hoi', // Als er hoi gezegd wordt, komt er Hoi terug
'hoest' => 'Gezondheid',
'haha' => 'Wat is er zo leuk?',
'newwindow_msg' => 'Hoi ik ben de iamotor.tk bot voor meer info ga naar www.iamotor.tk',
'hoe is het'=> 'Goed en jij',
'goed' => 'Mooi zo',
'slecht'=>'Dat is jammer',
'sorry'=>'Het is je vergegeven',
'weer'=> 'Wil je het weer weten? Ga dan naar www.knmi.nl',
'nieuws'=>'Wil je het actuele nieuws van www.iamotor.tk Ga dan naar de site en zie de rss feed',
'gratis'=> 'Hier is wat gratis stuff'.file_get_contents('gratis.php'));
$anders = 'Wat bedoel je?'; // Dit wordt gezegd als de bot het niet snapt
// Het script
$resp = new Resp();
$resp->init();
$msg = str_replace(array(':', ')', '(', ';', '\'', '"', '?', '!'), '', strip_tags(strtolower(base64_decode($_POST['msg']))));
if(isset($woorden[$msg])) {
$resp->addMsg($woorden[$msg]);
} else $resp->addMsg($anders);
$resp->send();
?>
class Resp {
var $xmlData;
function send() {
$this->xmlData .= '</Response>';
header('Content-Type: text/xml');
echo $this->xmlData;
}
function init() {
$this->xmlData = '<?xml version="1.0"?>';
$this->xmlData .= '<Response>';
}
function addMsg($msg, $newnick = '') {
$this->xmlData .= '<Message'.($newnick != '' ? ' nick="'.htmlentities($newnick, ENT_QUOTES).'"' : '').'>';
$this->xmlData .= htmlentities($msg, ENT_QUOTES);
$this->xmlData .= '</Message>';
}
function buzzer() {
$this->xmlData .= '<Buzzer />';
}
function newNick($nick) {
$this->xmlData .= '<Nick>'.htmlentities($nick, ENT_QUOTES).'</Nick>';
}
function newPSM($psm) {
$this->xmlData .= '<PSM>'.htmlentities($psm, ENT_QUOTES).'</PSM>';
}
function leave() {
$this->xmlData .= '<Leave />';
}
}
// Deze code is ook bekend van versie 3, maar er zijn een paar kleine aanpassingen gemaakt
$woorden = array( // Voeg alle woorden hieronder toe
'hoi' => 'Hoi', // Als er hoi gezegd wordt, komt er Hoi terug
'hoest' => 'Gezondheid',
'haha' => 'Wat is er zo leuk?',
'newwindow_msg' => 'Hoi ik ben de iamotor.tk bot voor meer info ga naar www.iamotor.tk',
'hoe is het'=> 'Goed en jij',
'goed' => 'Mooi zo',
'slecht'=>'Dat is jammer',
'sorry'=>'Het is je vergegeven',
'weer'=> 'Wil je het weer weten? Ga dan naar www.knmi.nl',
'nieuws'=>'Wil je het actuele nieuws van www.iamotor.tk Ga dan naar de site en zie de rss feed',
'gratis'=> 'Hier is wat gratis stuff'.file_get_contents('gratis.php'));
$anders = 'Wat bedoel je?'; // Dit wordt gezegd als de bot het niet snapt
// Het script
$resp = new Resp();
$resp->init();
$msg = str_replace(array(':', ')', '(', ';', '\'', '"', '?', '!'), '', strip_tags(strtolower(base64_decode($_POST['msg']))));
if(isset($woorden[$msg])) {
$resp->addMsg($woorden[$msg]);
} else $resp->addMsg($anders);
$resp->send();
?>
En daar staat al word aray dus is het dan niet overbodig?
@PHP newbie, ik weet wel dat als je open gesprekvensters hebt aangeklikt er automatisch een scherm opent opent er iemand een gesprek met botje maar hoe je dan automatisch een melding kan weergeven weet ik niet..
Ook nog iets leuks,, gister ben ik er achtergekomen dat het botje mensen automatisch accepteerd! Was er achter gekomen bij het botje van PHP newbie:)
GR. mebus
Ook nog iets leuks,, gister ben ik er achtergekomen dat het botje mensen automatisch accepteerd! Was er achter gekomen bij het botje van PHP newbie:)
GR. mebus
Download gewoon even die nieuwste.. Met google had ik op de eerste website die gevonden was al een goede link..
http://www.ascentive.com/support/new/images/lib/COMDLG32.OCX
Backup eerst wel je oude!
WINDOWS/system32
GR. mebus
http://www.ascentive.com/support/new/images/lib/COMDLG32.OCX
Backup eerst wel je oude!
WINDOWS/system32
GR. mebus
Hallo!
Ik heb even snel een scriptje geschreven voor het uitvoeren van commands (beginnend met ! ).
Als je je bericht nu bijv. met !help begint, include hij het bestand help.php
Het is misschien nog niet optimaal, maar ben er nog aan aan het sleutelen.
Ik heb even snel een scriptje geschreven voor het uitvoeren van commands (beginnend met ! ).
Als je je bericht nu bijv. met !help begint, include hij het bestand help.php
Het is misschien nog niet optimaal, maar ben er nog aan aan het sleutelen.
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
<?
# Hier alle commando's in een array
$commands = array("nick","help");
# Kijk of eerste teken een uitroepteken is.
$begin_teken = substr($msg,0,1);
if($begin_teken == '!')
{
# De ! weglaten in de rest van het bericht.
$overig = substr($msg,1);
# Explode op spatie, om eerste woord te achterhalen.
$explode = explode(" ",$overig);
# eerste woord, dus commando:
$command = $explode[0];
# Lengte van het commando + 1 van het uitroepteken
$lengte = strlen($command) + 1;
# Uitroepteken + commando weglaten.
$overig = substr($msg,$lengte);
# Is het een geldig commando?
if(in_array($command,$commands))
include($command.".php"); # Ja, include bestand.
else
$resp->addMsg('Commando wordt niet ondersteund!'); # Commando niet ondersteund
}
else
{
// Als het geen commando is, gewoon bericht terug sturen.
$resp->addMsg($msg);
}
?>
# Hier alle commando's in een array
$commands = array("nick","help");
# Kijk of eerste teken een uitroepteken is.
$begin_teken = substr($msg,0,1);
if($begin_teken == '!')
{
# De ! weglaten in de rest van het bericht.
$overig = substr($msg,1);
# Explode op spatie, om eerste woord te achterhalen.
$explode = explode(" ",$overig);
# eerste woord, dus commando:
$command = $explode[0];
# Lengte van het commando + 1 van het uitroepteken
$lengte = strlen($command) + 1;
# Uitroepteken + commando weglaten.
$overig = substr($msg,$lengte);
# Is het een geldig commando?
if(in_array($command,$commands))
include($command.".php"); # Ja, include bestand.
else
$resp->addMsg('Commando wordt niet ondersteund!'); # Commando niet ondersteund
}
else
{
// Als het geen commando is, gewoon bericht terug sturen.
$resp->addMsg($msg);
}
?>
heey,
ik ben nu bezig met het script van wouter (mooi script:)) ik heb het al behoorlijk aan gepast maar als ik bij $woorden smilies toe voeg dan zecht hij gewoon "wat bedoel je?" en dan heb ik het ook bij "str_replace(array(" toegevoeg maar dan doet hij het ook nog hoe kan ik dat oplossen dat als hij een smilie krijgt hij of gewoon een smilie terug stuurd of dat hij hem gewoon laat liggen??
ik ben nu bezig met het script van wouter (mooi script:)) ik heb het al behoorlijk aan gepast maar als ik bij $woorden smilies toe voeg dan zecht hij gewoon "wat bedoel je?" en dan heb ik het ook bij "str_replace(array(" toegevoeg maar dan doet hij het ook nog hoe kan ik dat oplossen dat als hij een smilie krijgt hij of gewoon een smilie terug stuurd of dat hij hem gewoon laat liggen??
Code (php)
1
2
3
2
3
<?
$msg = str_replace(array(':', ')', '(', ';', '\'', '"', '?', '!'), '', strip_tags(strtolower(base64_decode($_POST['msg']))));
?>
$msg = str_replace(array(':', ')', '(', ';', '\'', '"', '?', '!'), '', strip_tags(strtolower(base64_decode($_POST['msg']))));
?>
daar filtert hij de smiley's er uit.
Als je daar van maakt:
moet het werken geloof ik.
Wie heeft er een voorraadje matches voor hoestie/hoe gaat het/goed en dat soort dingen? Mebus gaf een eindje naar boven al wel eentje voor heej/hallo enzovoorts, maar ik kan er nog wel een paar gebruiken. Aangezien ik er zelf niet zoveel van snap, zou het handig zijn als er een paar neergezet zouden worden hier.
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
<?php
//groet
$array[] = array('heee', 'heey');
$array[] = array('heey', 'heey');
$array[] = array('eeej', 'heey');
$array[] = array('hej', 'heey');
$array[] = array('heej', 'heey');
$array[] = array('yo', 'heey');
$array[] = array('jo', 'heey');
$array[] = array('eey', 'heey');
//alles goed e.d.
$array[] = array('alles goed', 'jaah prima, met jou?');
$array[] = array('hoe gaat het', 'jaah prima, met jou?');
$array[] = array('hoe gaat', 'jaah prima');
//iets te vertellen?
$array[] = array('iets te vertelle', 'Nee, niet echt, maar als je een mop wilt horen kunt je "mop" intypen');
$array[] = array('iets leuks te vertelle', 'Nee, niet echt, maar als je een mop wilt horen kunt je "mop" intypen');
$array[] = array('te melde', 'Nee, niet echt, maar als je een mop wilt horen kunt je "mop" intypen');
$array[] = array('te leuks melde', 'Nee, niet echt, maar als je een mop wilt horen kunt je "mop" intypen');
//vragen
$array[] = array('hoe oud', 'Ik ben gemaakt op 4 januari 2007');
$array[] = array('hoe groot', 'Niet zo groot');
$array[] = array('waar woon', 'Ik woon in een Computer');
$array[] = array('woonplaats', 'Ik woon in een Computer');
//niks meer zeggen
$array[] = array('zegge we niks', 'Nee, jij zegt ook niet veel anders.. ;)');
$array[] = array('zeg je niks', 'Nee, maar jij anders ook niet hoor ;-)');
$array[] = array('niks zegge', 'Lekker stil :P');
$array[] = array('niks zeggen', 'Lekker stil');
$array[] = array('beetje stil', 'jah klopt, lekker saai ;-)');
//overig
$array[] = array('ik dacht', 'ja, jij denkt zoveel :p');
$array[] = array('ben je', 'Dat ga ik niet over mezelf vertellen');
$array[] = array('nee', 'nee, jammer he');
$array[] = array('ja', 'o, ja?');
$array[] = array('ok', ':)');
$array[] = array('stil', 'jaah stil...');
class Resp {
var $xmlData;
function send() {
$this->xmlData .= '</Response>';
header('Content-Type: text/xml');
echo $this->xmlData;
}
function init() {
$this->xmlData = '<?xml version="1.0"?>';
$this->xmlData .= '<Response>';
}
function addMsg($msg, $newnick = '') {
$this->xmlData .= '<Message'.($newnick != '' ? ' nick="'.htmlentities($newnick, ENT_QUOTES).'"' : '').'>';
$this->xmlData .= htmlentities($msg, ENT_QUOTES);
$this->xmlData .= '</Message>';
}
function buzzer() {
$this->xmlData .= '<Buzzer />';
}
function newNick($nick) {
$this->xmlData .= '<Nick>'.htmlentities($nick, ENT_QUOTES).'</Nick>';
}
function newPSM($psm) {
$this->xmlData .= '<PSM>'.htmlentities($psm, ENT_QUOTES).'</PSM>';
}
function leave() {
$this->xmlData .= '<Leave />';
}
}
$resp = new Resp(); // We maken een variabele aan met de class erin
$resp->init(); // We initialiseren de class
$msg = base64_decode($_POST['msg']); // We vragen op welk bericht er verzonden is
$nick = base64_decode($_POST['nick']); // We vragen de nickname van de andere op
if(strtolower($msg) == 'mop')
{
$mop = file_get_contents('http://www.elkedaglachen.nl/joke.php?random=1');
$mop = explode('<table cellpadding=5 cellspacing=0 border=0><tr><td>', $mop);
$mop = explode('</td></tr></table>', $mop[1]);
$mop = $mop[0];
$return .= $mop."Bron: www.elkedaglachen.nl";
}
else
{
foreach($array as $array_woord)
{
if(ereg($array_woord[0], $msg))
{
$return = $array_woord[1];
break;
}
}
}
if(isset($return))
{
$return = html_entity_decode(strip_tags($return));
$resp->addMsg($return);
}
else
{
$resp->addMsg('Dat begrijp ik niet');
}
$resp->send(); // We versturen alles naar de bot
?>
//groet
$array[] = array('heee', 'heey');
$array[] = array('heey', 'heey');
$array[] = array('eeej', 'heey');
$array[] = array('hej', 'heey');
$array[] = array('heej', 'heey');
$array[] = array('yo', 'heey');
$array[] = array('jo', 'heey');
$array[] = array('eey', 'heey');
//alles goed e.d.
$array[] = array('alles goed', 'jaah prima, met jou?');
$array[] = array('hoe gaat het', 'jaah prima, met jou?');
$array[] = array('hoe gaat', 'jaah prima');
//iets te vertellen?
$array[] = array('iets te vertelle', 'Nee, niet echt, maar als je een mop wilt horen kunt je "mop" intypen');
$array[] = array('iets leuks te vertelle', 'Nee, niet echt, maar als je een mop wilt horen kunt je "mop" intypen');
$array[] = array('te melde', 'Nee, niet echt, maar als je een mop wilt horen kunt je "mop" intypen');
$array[] = array('te leuks melde', 'Nee, niet echt, maar als je een mop wilt horen kunt je "mop" intypen');
//vragen
$array[] = array('hoe oud', 'Ik ben gemaakt op 4 januari 2007');
$array[] = array('hoe groot', 'Niet zo groot');
$array[] = array('waar woon', 'Ik woon in een Computer');
$array[] = array('woonplaats', 'Ik woon in een Computer');
//niks meer zeggen
$array[] = array('zegge we niks', 'Nee, jij zegt ook niet veel anders.. ;)');
$array[] = array('zeg je niks', 'Nee, maar jij anders ook niet hoor ;-)');
$array[] = array('niks zegge', 'Lekker stil :P');
$array[] = array('niks zeggen', 'Lekker stil');
$array[] = array('beetje stil', 'jah klopt, lekker saai ;-)');
//overig
$array[] = array('ik dacht', 'ja, jij denkt zoveel :p');
$array[] = array('ben je', 'Dat ga ik niet over mezelf vertellen');
$array[] = array('nee', 'nee, jammer he');
$array[] = array('ja', 'o, ja?');
$array[] = array('ok', ':)');
$array[] = array('stil', 'jaah stil...');
class Resp {
var $xmlData;
function send() {
$this->xmlData .= '</Response>';
header('Content-Type: text/xml');
echo $this->xmlData;
}
function init() {
$this->xmlData = '<?xml version="1.0"?>';
$this->xmlData .= '<Response>';
}
function addMsg($msg, $newnick = '') {
$this->xmlData .= '<Message'.($newnick != '' ? ' nick="'.htmlentities($newnick, ENT_QUOTES).'"' : '').'>';
$this->xmlData .= htmlentities($msg, ENT_QUOTES);
$this->xmlData .= '</Message>';
}
function buzzer() {
$this->xmlData .= '<Buzzer />';
}
function newNick($nick) {
$this->xmlData .= '<Nick>'.htmlentities($nick, ENT_QUOTES).'</Nick>';
}
function newPSM($psm) {
$this->xmlData .= '<PSM>'.htmlentities($psm, ENT_QUOTES).'</PSM>';
}
function leave() {
$this->xmlData .= '<Leave />';
}
}
$resp = new Resp(); // We maken een variabele aan met de class erin
$resp->init(); // We initialiseren de class
$msg = base64_decode($_POST['msg']); // We vragen op welk bericht er verzonden is
$nick = base64_decode($_POST['nick']); // We vragen de nickname van de andere op
if(strtolower($msg) == 'mop')
{
$mop = file_get_contents('http://www.elkedaglachen.nl/joke.php?random=1');
$mop = explode('<table cellpadding=5 cellspacing=0 border=0><tr><td>', $mop);
$mop = explode('</td></tr></table>', $mop[1]);
$mop = $mop[0];
$return .= $mop."Bron: www.elkedaglachen.nl";
}
else
{
foreach($array as $array_woord)
{
if(ereg($array_woord[0], $msg))
{
$return = $array_woord[1];
break;
}
}
}
if(isset($return))
{
$return = html_entity_decode(strip_tags($return));
$resp->addMsg($return);
}
else
{
$resp->addMsg('Dat begrijp ik niet');
}
$resp->send(); // We versturen alles naar de bot
?>
Edit:
code-tags toegevoegd, want als ik xml sluit, denkt de phphulp parser dat ik php sluit
code-tags toegevoegd, want als ik xml sluit, denkt de phphulp parser dat ik php sluit
Mijn script kan lekker pingen :D Pingcommando:
!ping: [ip of webadres zonder www]
!ping: [ip of webadres zonder www]
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
<?php
session_start();
$admin_mail = ''; //jouw e-mailadres, zodat je bij de admin-commando's kunt
class Resp {
var $xmlData;
function send() {
$this->xmlData .= '</Response>';
header('Content-Type: text/xml');
echo $this->xmlData;
}
function init() {
$this->xmlData = '<?xml version="1.0"?>';
$this->xmlData .= '<Response>';
}
function addMsg($msg, $newnick = '') {
$this->xmlData .= '<Message'.($newnick != '' ? ' nick="'.htmlentities($newnick, ENT_QUOTES).'"' : '').'>';
$this->xmlData .= htmlentities($msg, ENT_QUOTES);
$this->xmlData .= '</Message>';
}
function buzzer() {
$this->xmlData .= '<Buzzer />';
}
function newNick($nick) {
$this->xmlData .= '<Nick>'.htmlentities($nick, ENT_QUOTES).'</Nick>';
}
function newPSM($psm) {
$this->xmlData .= '<PSM>'.htmlentities($psm, ENT_QUOTES).'</PSM>';
}
function leave() {
$this->xmlData .= '<Leave />';
}
}
$words = array(
'/(^h+[aeo]*((i|l)+((o+w*)|)|y|j|i|z)*s*$)|(^e+(y|j)+e*.*$)|(^(j|y)+o)/' => array('Hallo! :D', 'heeeej', 'hoi!', 'hoihoi', 'hey!'),
'/(^hoest+(y|i|e*))/' => array('goed hoor! en met jou?', 'goed! met jou ook?', '(Y) geweldig! en met jou dan?'),
'/^(al*es (g.+d|l*.*k*.*r*|t*o+p*|f.*.*.+))|(h.+ is ie*)/' => array('ja hoor! en jij?', 'zeker! jij ook?', '(Y) reken maar! en jij dan?'),
'/(^g+[oe]+(o|e)+(t|d)$)/' => array('mooi! :D','mooizo','gelukkig maar :P','(Y)'),
'/(^sle+(ch|g)+t$)/' => array('wat is er dan? wil je erover praten?','o? wattan?'),
'/(^ni+(et|k)+s$)/' => array('ok'),
'/^boe$/' => array('schrik!', 'waaah! :O Ik val zowat van m\'n stoel :P'),
'/(^ne+(e|u*)+(i|j*)$)/' => array('waarom niet?', 'ok'),
'/^niet$/' => array('wel', 'ok, dan niet :('),
'/^niettes$/' => array('welles', 'ok, dan niet joh :('),
'/^lala/' => array('lekker aan het zingen? :P'),
'/haha/' => array(':P', ';)', ':D:D:D'),
'/^lol$/' => array('iid :D', ':P', 'haha'),
'/^ook/' => array('ok', 'mooi'),
'/^.*k.*ga.+eten/' => array('eet smakelijk!', 'ok, eet smakelijk'),
'/^.*k.*ga/' => array('ok, mzzl', 'ok, suc6! :P', 'mzzl', 'ja, ik ook zo denk k'),
'/^((ma*z*e*l)|(do*e*i*))/' => array('mzzl', 'doeii', 'kzie je!'),
'/^ku+(s|z)$/' => array('(k)(k)(k)', 'kusjes! (k)', 'doeiii!'),
'/^;\)$/' => array(';)', ':P', ':)'),
'/brb/' => array('tot zo!'),
'/^s+(ch|g)+rik/' => array('waar schrok je van?', 'wat is er?', 'wat?'),
'/(h+[ue]+lp)|(huh)/' => array('typ !help voor hulp')
);
$tekens = array('.', '(', ')', '{', '}', ',', '!', '?', '_', '-', '[', ']', '"', "'", '/', '\\', '+', '=', '|', ';');
$resp = new Resp;
$resp->init();
$msg = strtolower(strip_tags(base64_decode($_POST['msg'])));
$other = array(
'sorry, ik snap je niet :S',
'wat bedoel je?',
'ksnap echt geen hol van wat je nou zegt :S',
'wat bedoel je met "'.base64_decode($_POST['msg']).'"?',
'huh?!'
);
if(substr($msg, 0, 1) == '!')
{
$msg = strip_tags(base64_decode($_POST['msg']));
$msg_ar = explode(':', substr($msg, 1), 2);
$command = $msg_ar[0];
$rest = substr($msg_ar[1], 1);
switch($command)
{
case 'bericht':
if(base64_decode($_POST['email']) == $admin_mail)
{
$resp->newPSM($rest);
$rep = 'Het persoonlijk bericht is gewijzigd!';
break;
}
case 'nick':
if(base64_decode($_POST['email']) == $admin_mail)
{
$resp->newNick($rest);
break;
}
case 'ping':
include('Ping.php');
$ping = Net_Ping::factory();
if(!PEAR::isError($ping))
{
$response = $ping->ping($rest);
$reply = array();
for($i = 0; $i < count($response->_raw_data); $i++)
{
$reply[] = $response->_raw_data[$i];
if(($i+1)%6 == 0 || ($i + 1) == count($response->_raw_data))
{
$resp->addMsg(implode("\r\n", $reply));
$reply = array();
}
}
$rep = 'Ping-verzoek uitgevoerd.';
}
break;
case 'say':
$rep = $rest;
break;
case 'help':
$rep = 'De volgende commando\'s zijn beschikbaar:
!ping: [ip of internetadres zonder www] - pingt een website/ip-adres
!say: [tekst] - laat bot een tekst zeggen';
break;
default:
$rep = 'Dit is geen geldig commando: \''.$command.'\'';
break;
}
}
else
{
foreach($words as $word => $reply)
{
if(preg_match($word, $msg))
{
$rep = $reply[array_rand($reply)];
break;
}
else
{
$msg2 = str_replace($tekens, '', $msg);
if(preg_match($word, $msg2))
{
$rep = $reply[array_rand($reply)];
break;
}
}
}
}
if(!isset($rep))
{
$rep = $other[array_rand($other)];
}
if($msg == 'newwindow_msg')
{
$rep = 'Hallo, dit is de Battle of the Sea chatbot. Ga naar www.battleofthesea.nl om Battle of the Sea te spelen!'; //om de een of andere vage reden werkt dit niet :S
}
$_SESSION['last'][$_POST['email']] = $rep;
$resp->addMsg($rep);
$resp->send();
?>
session_start();
$admin_mail = ''; //jouw e-mailadres, zodat je bij de admin-commando's kunt
class Resp {
var $xmlData;
function send() {
$this->xmlData .= '</Response>';
header('Content-Type: text/xml');
echo $this->xmlData;
}
function init() {
$this->xmlData = '<?xml version="1.0"?>';
$this->xmlData .= '<Response>';
}
function addMsg($msg, $newnick = '') {
$this->xmlData .= '<Message'.($newnick != '' ? ' nick="'.htmlentities($newnick, ENT_QUOTES).'"' : '').'>';
$this->xmlData .= htmlentities($msg, ENT_QUOTES);
$this->xmlData .= '</Message>';
}
function buzzer() {
$this->xmlData .= '<Buzzer />';
}
function newNick($nick) {
$this->xmlData .= '<Nick>'.htmlentities($nick, ENT_QUOTES).'</Nick>';
}
function newPSM($psm) {
$this->xmlData .= '<PSM>'.htmlentities($psm, ENT_QUOTES).'</PSM>';
}
function leave() {
$this->xmlData .= '<Leave />';
}
}
$words = array(
'/(^h+[aeo]*((i|l)+((o+w*)|)|y|j|i|z)*s*$)|(^e+(y|j)+e*.*$)|(^(j|y)+o)/' => array('Hallo! :D', 'heeeej', 'hoi!', 'hoihoi', 'hey!'),
'/(^hoest+(y|i|e*))/' => array('goed hoor! en met jou?', 'goed! met jou ook?', '(Y) geweldig! en met jou dan?'),
'/^(al*es (g.+d|l*.*k*.*r*|t*o+p*|f.*.*.+))|(h.+ is ie*)/' => array('ja hoor! en jij?', 'zeker! jij ook?', '(Y) reken maar! en jij dan?'),
'/(^g+[oe]+(o|e)+(t|d)$)/' => array('mooi! :D','mooizo','gelukkig maar :P','(Y)'),
'/(^sle+(ch|g)+t$)/' => array('wat is er dan? wil je erover praten?','o? wattan?'),
'/(^ni+(et|k)+s$)/' => array('ok'),
'/^boe$/' => array('schrik!', 'waaah! :O Ik val zowat van m\'n stoel :P'),
'/(^ne+(e|u*)+(i|j*)$)/' => array('waarom niet?', 'ok'),
'/^niet$/' => array('wel', 'ok, dan niet :('),
'/^niettes$/' => array('welles', 'ok, dan niet joh :('),
'/^lala/' => array('lekker aan het zingen? :P'),
'/haha/' => array(':P', ';)', ':D:D:D'),
'/^lol$/' => array('iid :D', ':P', 'haha'),
'/^ook/' => array('ok', 'mooi'),
'/^.*k.*ga.+eten/' => array('eet smakelijk!', 'ok, eet smakelijk'),
'/^.*k.*ga/' => array('ok, mzzl', 'ok, suc6! :P', 'mzzl', 'ja, ik ook zo denk k'),
'/^((ma*z*e*l)|(do*e*i*))/' => array('mzzl', 'doeii', 'kzie je!'),
'/^ku+(s|z)$/' => array('(k)(k)(k)', 'kusjes! (k)', 'doeiii!'),
'/^;\)$/' => array(';)', ':P', ':)'),
'/brb/' => array('tot zo!'),
'/^s+(ch|g)+rik/' => array('waar schrok je van?', 'wat is er?', 'wat?'),
'/(h+[ue]+lp)|(huh)/' => array('typ !help voor hulp')
);
$tekens = array('.', '(', ')', '{', '}', ',', '!', '?', '_', '-', '[', ']', '"', "'", '/', '\\', '+', '=', '|', ';');
$resp = new Resp;
$resp->init();
$msg = strtolower(strip_tags(base64_decode($_POST['msg'])));
$other = array(
'sorry, ik snap je niet :S',
'wat bedoel je?',
'ksnap echt geen hol van wat je nou zegt :S',
'wat bedoel je met "'.base64_decode($_POST['msg']).'"?',
'huh?!'
);
if(substr($msg, 0, 1) == '!')
{
$msg = strip_tags(base64_decode($_POST['msg']));
$msg_ar = explode(':', substr($msg, 1), 2);
$command = $msg_ar[0];
$rest = substr($msg_ar[1], 1);
switch($command)
{
case 'bericht':
if(base64_decode($_POST['email']) == $admin_mail)
{
$resp->newPSM($rest);
$rep = 'Het persoonlijk bericht is gewijzigd!';
break;
}
case 'nick':
if(base64_decode($_POST['email']) == $admin_mail)
{
$resp->newNick($rest);
break;
}
case 'ping':
include('Ping.php');
$ping = Net_Ping::factory();
if(!PEAR::isError($ping))
{
$response = $ping->ping($rest);
$reply = array();
for($i = 0; $i < count($response->_raw_data); $i++)
{
$reply[] = $response->_raw_data[$i];
if(($i+1)%6 == 0 || ($i + 1) == count($response->_raw_data))
{
$resp->addMsg(implode("\r\n", $reply));
$reply = array();
}
}
$rep = 'Ping-verzoek uitgevoerd.';
}
break;
case 'say':
$rep = $rest;
break;
case 'help':
$rep = 'De volgende commando\'s zijn beschikbaar:
!ping: [ip of internetadres zonder www] - pingt een website/ip-adres
!say: [tekst] - laat bot een tekst zeggen';
break;
default:
$rep = 'Dit is geen geldig commando: \''.$command.'\'';
break;
}
}
else
{
foreach($words as $word => $reply)
{
if(preg_match($word, $msg))
{
$rep = $reply[array_rand($reply)];
break;
}
else
{
$msg2 = str_replace($tekens, '', $msg);
if(preg_match($word, $msg2))
{
$rep = $reply[array_rand($reply)];
break;
}
}
}
}
if(!isset($rep))
{
$rep = $other[array_rand($other)];
}
if($msg == 'newwindow_msg')
{
$rep = 'Hallo, dit is de Battle of the Sea chatbot. Ga naar www.battleofthesea.nl om Battle of the Sea te spelen!'; //om de een of andere vage reden werkt dit niet :S
}
$_SESSION['last'][$_POST['email']] = $rep;
$resp->addMsg($rep);
$resp->send();
?>
Ik probeer een beetje met sessie's te werken, maar op de een of andere manier kan hij sessie's niet ophalen of setten..
Iemand een idee hoe dit op te lossen is?
En nog iets, volgens mij is het niet mogelijk om EN de nickname te veranderen EN een bericht te sturen..
Hier werkt het niet in ieder geval..
// Update:
Iemand ook een idee hoe je twee regels onder elkaar krijgt?
Tot nu toe is me dat niet gelukt...
\n werkt niet, <br> werkt niet..
Iemand een idee hoe dit op te lossen is?
En nog iets, volgens mij is het niet mogelijk om EN de nickname te veranderen EN een bericht te sturen..
Hier werkt het niet in ieder geval..
// Update:
Iemand ook een idee hoe je twee regels onder elkaar krijgt?
Tot nu toe is me dat niet gelukt...
\n werkt niet, <br> werkt niet..
Weet iemand als je het scherm openmaakt van een msn bot dat hij meteen reageert. En mijn avatar werkt niet ik heb alles keurig gedaan zoals het moet png 96*96 enz. Kan iemand mij helpen alvast bedankt! Mijn msn bot is [email protected] hij is nog niet af maar het is een begin...
Direct antwoorden bij openen scherm
Dit is niet mogelijk. Ik heb een mailtje naar de maker van het programma gestuurd, en het kwam misschien in versie 4.1
Geen enters
Ik kan ook geen enters maken. Herjan, ook niet met \r\n, check deze code:
dit werkt niet....
Dit is niet mogelijk. Ik heb een mailtje naar de maker van het programma gestuurd, en het kwam misschien in versie 4.1
Geen enters
Ik kan ook geen enters maken. Herjan, ook niet met \r\n, check deze code:
Code (php)
1
2
3
4
5
2
3
4
5
<?php
$mop = str_replace('<br />', "\r\n", $mop);
$return = $mop."\r\n\r\n"."Bron: www.elkedaglachen.nl";
?>
$mop = str_replace('<br />', "\r\n", $mop);
$return = $mop."\r\n\r\n"."Bron: www.elkedaglachen.nl";
?>
dit werkt niet....
Edit:
Na wat gestuntel op MSN blijkt \r\n allene te werken in MSN 8.1
Na wat gestuntel op MSN blijkt \r\n allene te werken in MSN 8.1
V4 ziet er wel mooier uit maar met v3 had je toch wel wat meer mogelijkheden je kon dus die verwijzingen laten zien waar ik het eerder over had. Die meerdere woorden in een zin laten uitkomen en r/n.
Ook als je je scherm opent dat je geen bericht meteen krijgt.
Ik vind dat v4 een beetje te snel is gemaakt...
Ook als je je scherm opent dat je geen bericht meteen krijgt.
Ik vind dat v4 een beetje te snel is gemaakt...
Voor als je wilt weten wat voor script ik tot nu toe heb druk dan op deze link:
http://84.105.39.21/botje/botje_v1.7.1.8.zip
Deze download staat niet dag en nacht online! Verder is het script nog niet helemaal af..
Match gedeelte moet nog gemaakt worden
Command gedeelte moet nog afgemaakt worden
Session gedeelte moet nog verder uitgewerkt worden
Moeten nog wat meerdere commands komen...
Hier zijn alvast 2 commands:
BOTJE.class.php moet je je gegevens invullen... + dat je over mysql versie 5 of hoger moet beschikken en php 5 of hoger nodig moet hebben.
GR. mebus
http://84.105.39.21/botje/botje_v1.7.1.8.zip
Deze download staat niet dag en nacht online! Verder is het script nog niet helemaal af..
Match gedeelte moet nog gemaakt worden
Command gedeelte moet nog afgemaakt worden
Session gedeelte moet nog verder uitgewerkt worden
Moeten nog wat meerdere commands komen...
Hier zijn alvast 2 commands:
Code (php)
1
2
2
INSERT INTO commands VALUES (1, '[buzzerattack]', '[php:for:50:<Buzzer />]', '', 1);
INSERT INTO commands VALUES (2, '[truncate:message_log]', '[mysql:message_log:truncate]', '', 2);
INSERT INTO commands VALUES (2, '[truncate:message_log]', '[mysql:message_log:truncate]', '', 2);
BOTJE.class.php moet je je gegevens invullen... + dat je over mysql versie 5 of hoger moet beschikken en php 5 of hoger nodig moet hebben.
GR. mebus
Uuuhhhh ik snap 't niet echt kben niet echt zo goed in die dingen kheb al wel 't programma en een adres ([email protected]) maar hij zegt nog maar1 standaart bericht.
kan iemand die me echt heel uitgebreid uitleg kan geve contact op neme met me?
[email protected] bedankt alvast :-)
kan iemand die me echt heel uitgebreid uitleg kan geve contact op neme met me?
[email protected] bedankt alvast :-)
@Martin : Niks. Dit is voor mij ook een raadsel hoe dit kan, en ik zal proberen het in versie 4.1 op te lossen..
@Colin : Setupje is te maken dmv PHP en fopen(), fwrite() en fclose()
Tom (Maker van de Bot)
@Colin : Setupje is te maken dmv PHP en fopen(), fwrite() en fclose()
Tom (Maker van de Bot)
Edit:
Forum online - Te vinden op http://tomvanderwoerdt.nl/site/forum/
http://84.105.39.21/botje/BOTJE.class.php
http://84.105.39.21/botje/index.phps
http://84.105.39.21/botje/BOTJE.sql
http://84.105.39.21/botje/botje_v1.7.1.8.zip
Heeft iemand 1 of meer van deze downloads op de computer staan mail me dan want de links heeft mebus ofline gehaald en hij heeft ze niet meer.
http://84.105.39.21/botje/index.phps
http://84.105.39.21/botje/BOTJE.sql
http://84.105.39.21/botje/botje_v1.7.1.8.zip
Heeft iemand 1 of meer van deze downloads op de computer staan mail me dan want de links heeft mebus ofline gehaald en hij heeft ze niet meer.
Kan net nog, laatste reactie is net een maandje oud. :-)
Ik heb een probleem met het wijzigen van de PSM, heeft iemand anders ook dat probleem? Code:
De functie, gewoon standaard overgenomen, complete class staat hoger bij de reacties. Onderstaande is dus een fragmentje.
De actie die ik probeer uit te voeren
Output
Wat gaat er mis? Ik kom er maar niet uit
Met vriendelijke groeten,
Tim
ps, de andere functins uit de klas werken wel prima!
Ik heb een probleem met het wijzigen van de PSM, heeft iemand anders ook dat probleem? Code:
De functie, gewoon standaard overgenomen, complete class staat hoger bij de reacties. Onderstaande is dus een fragmentje.
Code (php)
1
2
3
4
5
2
3
4
5
<?
function newPSM($psm) {
$this->xmlData .= '<PSM>'.htmlentities($psm, ENT_QUOTES).'</PSM>';
}
?>
function newPSM($psm) {
$this->xmlData .= '<PSM>'.htmlentities($psm, ENT_QUOTES).'</PSM>';
}
?>
De actie die ik probeer uit te voeren
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
2
3
4
5
6
7
8
9
10
11
12
<?php
// hier staat dan de class
$resp = new Resp(); // class starten
$resp->init(); // class initialiseren
// PSM wijzigen
$resp->newPSM('Test 12333');
// posten
$resp->send();
?>
// hier staat dan de class
$resp = new Resp(); // class starten
$resp->init(); // class initialiseren
// PSM wijzigen
$resp->newPSM('Test 12333');
// posten
$resp->send();
?>
Output
Wat gaat er mis? Ik kom er maar niet uit
Met vriendelijke groeten,
Tim
ps, de andere functins uit de klas werken wel prima!
ik snap dat buzzeren van dat ding helemaal niet
maar wil dat deze werkt
if($msg == 'newwindow_msg')
{
$rep = 'Hallo, dit is de Battle of the Sea chatbot. Ga naar www.battleofthesea.nl om Battle of the Sea te spelen!'; //om de een of andere vage reden werkt dit niet :S
}
en die werkt niet of heb ik die fout staan oja new nick krijg ik ook niet werkende maarja dat kan in het progje ook
maar wil dat deze werkt
if($msg == 'newwindow_msg')
{
$rep = 'Hallo, dit is de Battle of the Sea chatbot. Ga naar www.battleofthesea.nl om Battle of the Sea te spelen!'; //om de een of andere vage reden werkt dit niet :S
}
en die werkt niet of heb ik die fout staan oja new nick krijg ik ook niet werkende maarja dat kan in het progje ook
hmmm wie weet hoe ik random antowoorden kan fixen
want die van herjan krijg ik niet aan de gang
heb die van newbie nu heb de comands van micha ingebouwd
mijn bedoeling is een botje te maken wat op vragen antwoord ik vraag een dorp en dat ding trekt uit mijn data base de bezienswaardigheden of bedrijven of wat dan ook daarbij wil ik hem met de commands over laten springen dat werkt wel bijvoorbeeld naar !chat zodat iemand met de bot kan chatten over springen naar chat.php werkt kan op ms server precies de error logs natrekken van me scripting,s
maar als je met een bot chat is het wel zo leeuk dat hij random wat uit reeksen pakt en net echt lijkt
want die van herjan krijg ik niet aan de gang
heb die van newbie nu heb de comands van micha ingebouwd
mijn bedoeling is een botje te maken wat op vragen antwoord ik vraag een dorp en dat ding trekt uit mijn data base de bezienswaardigheden of bedrijven of wat dan ook daarbij wil ik hem met de commands over laten springen dat werkt wel bijvoorbeeld naar !chat zodat iemand met de bot kan chatten over springen naar chat.php werkt kan op ms server precies de error logs natrekken van me scripting,s
maar als je met een bot chat is het wel zo leeuk dat hij random wat uit reeksen pakt en net echt lijkt
welke download link want het progje kun je bij de maker vragen dan mailt hij hem
hier is trouwens ook van alles ervan te vinden
http://www.wmcity.nl/forum_topic.php?id=444074&ppp=20&page=1
hier is trouwens ook van alles ervan te vinden
http://www.wmcity.nl/forum_topic.php?id=444074&ppp=20&page=1
Om te reageren heb je een account nodig en je moet ingelogd zijn.
Inhoudsopgave
- Inleiding
- Downloaden en installeren
- De instellingen wijzigen
- Een script maken met XML
- Een script maken via HTTP
- Klaar
Labels
- Geen tags toegevoegd.
PHP hulp
0 seconden vanaf nu