다음은 조류 관련 채팅 봇에 대해 작성한 일부 코드입니다.mIRC chat bot은 명령을 인식하지 않습니다.
mIRC consolse를 사용하면 별칭 블록 (예 : // fchirp [user])을 실행할 수 있지만 어떤 이유로 봇이 기본 채팅 창에서 "! chirp"를 입력했음을 인정하지 않습니다 . on-text-event에서 첫 번째 // echo 문도 실행하지 않습니다.
가장 이상한 부분은 다음과 같습니다.이 코드는 이전에 작동했으며 정기적으로 사용했습니다. 디버깅을 위해 사용하는 // echo 문과는 별도로 여기에 표시된 부분을 변경하지 않았습니다.
addWorms 및 giveWorms는 모두 독자적으로 작성하고 올바르게 작동하는 별칭입니다. 내가 겪고있는 주된 문제는 누군가가 "chirp"라고 타이핑 할 때 로봇이 무엇이든 할 수있게하는 것입니다. (그것은 주목해야한다 이전과 동일한 구문을 잘 코드 작업에서 다른 관련이없는에서 텍스트-이벤트.)
alias fchirp {
/writeini chirp.ini $1 First $adate
/writeini chirp.ini $1 Last $adate
/writeini chirp.ini $1 Count 1
msg $chan /w $1 Welcome to the Nest! Thanks for checking in! :D
addWorms $1
msg $chan /w $1 Type !worms to see how many you have!
//echo -a first chirp
}
alias chirp {
var %a $readini(chirp.ini, $1, Count)
var %count $calc(%a + 1)
if ($readini(worms.ini, $1, Breed) == $null) {
addWorms $1
//echo -a addWorms done
}
if ($readini(chirp.ini, $1, Last) === $adate) { msg $chan /w $nick You've already checked in today! BabyRage | halt }
/writeini chirp.ini $1 Last $adate
/writeini chirp.ini $1 Count %count
//echo -a last/count updated
if ($calc($readini(chirp.ini, $1, Count) % 5) == 0) {
giveWorms $1 10
msg $chan /w $1 Welcome back! Lucky day!
}
else {
giveWorms $1 5
msg $chan /w $1 Welcome back! Here's your worms! Don't forget to !hunt ! ^_^
}
//echo -a giveWorms
}
on *:TEXT:!chirp:#: {
//echo -a acknowledged
if ($readini(chirp.ini, $nick, First) != $null) {
//echo -a true
chirp $nick
}
else {
//echo -a false
fchirp $nick
}
msg $chan /w $nick Don't forget to !hunt for worms! :D
}
'TEXT :! * : # :'이 있습니까? 그것은 아마도 일치를 포함하는 다른 TEXT 이벤트 때문입니다 .. 새로운 mIRC 원격 파일에 게시 된 코드를 추가하여이 문제를 해결할 수 있다면 TEXT 이벤트 포착을 방해하는 코드가 있음을 의미합니다 (오류 또는 다른 TEXT 이벤트에 일치 패턴이 있음). 또한,'/'는 원격 코드에서 쓸모가 없으며 단지 콘솔 mIRC 윈도우에 대한 텍스트 대 명령을 식별하기위한 것입니다. –
완벽! 고맙습니다. 나는 명령을 가지고있다 : – MrJerkBird
(계속) ... 아무도 아무 것도 타이프하지 않을 때 카운트하는 명령이있다 : on : : TEXT : * : # : {/ * 물건 * /} 둘 다 가지고 있니? – MrJerkBird