BeBot - An Anarchy Online and Age Of Conan chat automaton
Archive => Age of Conan Archive => AoC 0.6 support => Topic started by: Organizer on August 13, 2009, 01:59:17 am
-
Hello again expert team :)
The game announces in the Guild Announcement channel when a player joins or leaves the guild. Is this something that the bot can see and thereby be used or is this not seen in any way? Think I have seen some comment on this earlier, maybe in connection with automatically add member to the bot, and since that works with them chatting in guild chat I presume I know the answer but I guess someone can confirm... since a bot can see global etc. I'd hope their is a way as long as its subscribed but...
I ask as I'm getting highly annoyed by members leaving the guild without telling any officers, if this little chat string could be matched I guess I easily could have the bot send a tell to e.g. bot owner, create a log and similar so that it would be discovered directly...
-
The bot does not see guild announcements.
-
As far as i know, the bot does not receive these announcements.
If you feel like verifying if this has changed or not, you could enable debug output displaying all the packets the bot receives to see if you spot the message generated when someone joins or leaves the guild.
In AOChat.php find the function AOChat at line 190. Alter it to read:
function AOChat($cb, $game, $args = NULL)
{
$this->game = $game;
$this->callback = $cb;
$this->cbargs = $args;
$this->disconnect();
$this->login_num = 0;
$this->debug = STDERR;
}
This will generate a lot of spam however, just as a warning.
-
i think the bot see the guild announcements, because the autogratz work also on that right?
If somebody leaves the guild it says: <name> left your guild.
Even when somebody got kicked.
Not sure if it can works with that.
-
The autograts module does not see the announcement either, but uses a different method for detecting it.
It gave me an idea, but I'll need to do some more investigation.
-
I'm going out on a limb here, but i have a sneaking suspicion that AoC uses chatserver packet 20 to keep track of a few things. Although it's impossible for me to test out.
However if anyone feels like helping out and can arrange with cooperation from a fellow guild member and allow said member to be kicked, reinvited and if possible, leveled with the following debug code in place in Main.php
At the very bottom of Main.php you will find the callback function.
Add the following case:
case AOCP_CLIENT_NAME:
if ($game == "aoc")
{
echo "Debugging AOCP_CLIENT_NAME \n";
print_r($args);
}
break;
If anyone undertakes this, please let me know if an AOCP_CLIENT_NAME package is received for the kicked/leaving/invited player and paste the console output here.
-
hi there
i paste the code in main.php bot version 0.6.4
case AOCP_MSG_VICINITYA:
$bot -> inc_vannounce($args);
break;
case AOCP_CLIENT_NAME:
if ($game == "aoc")
{
echo "Debugging AOCP_CLIENT_NAME \n";
print_r($args);
}
break;
default:
We did somebody let leave the guild, nothing happends in the console screen.
Same when we invited him back, nothing happend.
It was in debug mode.
When somebody levels we only see this in console:
Embot [AUTOGRATZ] [LOG] Caleza achieved level 41
Embot [GROUP] [MSG] [Enraged Messiahs] Embot: Gratz Caleza with level 41. Ma
y the force be with you
btw, the logon also see the msg of people logging in or off?
Embot [GROUP] [MSG] [Enraged Messiahs] Embot: Thorber logged off
Cheerz
Jih.
-
Hmm, so I guess that its still a lost cause then, unless I misunderstand what you expected result wise...
-
I made a booboo :o
There is already an entry for this packet earlier which will cause the case i supplied to never be reached.
case 20:
// Silently ignore for now (AOCP_CLIENT_NAME)
break;
This probably looks different when you have autogratz installed as it uses this packet.
Just add the
echo "Debugging AOCP_CLIENT_NAME \n";
print_r($args);
Before the break; and there should be some sensible output.
-
Hi m8,
posted that line in main.php
The only thing i see is people chatting in Global chat
Debugging AOCP_CLIENT_NAME
Array
(
[0] => 17207727
[1] => 0
[2] => Inyaface
)
Debugging AOCP_CLIENT_NAME
Array
(
[0] => 17154164
[1] => 0
[2] => Temujin
)
Debugging AOCP_CLIENT_NAME
Array
(
[0] => 17218071
[1] => 0
[2] => Efferang
)
Debugging AOCP_CLIENT_NAME
Array
(
[0] => 17102568
[1] => 0
[2] => Chimeca
)
Those names are not in the guild, but they where chatting in Global chat.
We also let an member leave the guild, but nothing happend, same when we invited him back,
Cheerz
Jih
-
Thank you for the help Jiheld.
This indicates that my theory was wrong, and we have no way of detecting if a member leaves the guild still :(
-
i think the bot see the guild announcements, because the autogratz work also on that right?
If somebody leaves the guild it says: <name> left your guild.
Even when somebody got kicked.
Not sure if it can works with that.
I don't know autogratz, but levelling is a status update. So far I've seen the following:
0 - logoff
1 - logon
3 - afk
5 - no longer afk
6 - ??? (connected to realm? always follows 1-logon)
7 - level up
In the logs it looks like:
[2009-08-30 11:44:58] [BUDDY] [LOG] a_char_name_here changed status [7] (MEMBER)
-
I don't know autogratz, but levelling is a status update. So far I've seen the following:
0 - logoff
1 - logon
3 - afk
5 - no longer afk
6 - ??? (connected to realm? always follows 1-logon)
7 - level up
In the logs it looks like:
[2009-08-30 11:44:58] [BUDDY] [LOG] a_char_name_here changed status [7] (MEMBER)
Interesting. I wonder, if one bot has another bot as a buddy, does status 6 alter the buddy state when the connection to the gameserver dies.
-
Hm.. I think it should go to status 0 then yes.
Could be useful if you got two bots on seperate connections for notifications, although not sure what you're gonna do about it then.
-
Embot [BUDDY] [LOG] Siffredi changed status [0] (MEMBER)
Embot [GROUP] [MSG] [Enraged Messiahs] Embot: Siffredi logged off
Embot [BUDDY] [LOG] Jiheldar changed status [1] (MEMBER)
Embot [BUDDY] [LOG] Jiheldar changed status [6] (MEMBER)
Embot [GROUP] [MSG] [Enraged Messiahs] Embot: "Jiheldar" (Lvl 80 Necromancer
) Logged On :: [link]Details[/link]
maybe it helps :-)
cheerz,
Jih.
-
6 comes up whenever someone zones.
-
Ah, thanks.