collapse collapse
* User Info
 
 
Welcome, Guest. Please login or register.
* Search

* Board Stats
  • stats Total Members: 989
  • stats Total Posts: 18363
  • stats Total Topics: 2500
  • stats Total Categories: 7
  • stats Total Boards: 35
  • stats Most Online: 1144

Author Topic: bugs in 0.3.4  (Read 19575 times)

0 Members and 1 Guest are viewing this topic.

Offline Ebag333

  • Contributor
  • *******
  • Posts: 134
  • Karma: +0/-0
Re: bugs in 0.3.4
« Reply #30 on: June 20, 2007, 06:01:46 pm »
If you want to keep them with bebot you'll have to set notify = 1.

Pfft, I know that.

Only happens on the raid portion of the roster, incidentally.

Offline Temar

  • Contributor
  • *******
  • Posts: 1140
  • Karma: +0/-0
    • AoFiles
Re: bugs in 0.3.4
« Reply #31 on: June 20, 2007, 08:27:47 pm »
why have u changed !invite to !inviteuser and wat does !invite do now?

Offline Glarawyn

  • BeBot Hero
  • ******
  • Posts: 521
  • Karma: +0/-0
Re: bugs in 0.3.4
« Reply #32 on: June 20, 2007, 08:34:24 pm »
why have u changed !invite to !inviteuser and wat does !invite do now?

Yeah it bugs the crap out of me too. :)

/tell bot !invite - bot invites you if you're allowed to join the pgroup. Alias of !join.
/tell bot !invite <name> - bot invites <name> if person calling is allowed to invite.

I imagine the change is due to the access control system, but it also shows the main weakness of access control system. The security system is not without it's flaws as well. :)

Maybe at some point access control can be expansed for subcommands/command parameters...

Offline Vhab

  • Contributor
  • *******
  • Posts: 180
  • Karma: +0/-0
    • VhaBot Forum
Re: bugs in 0.3.4
« Reply #33 on: June 20, 2007, 09:55:34 pm »
I ran into the same problem regarding !invite with vhabot aswell.
So I just made !invite only for inviting other people and !join only for getting an invite yourself.

Offline Glarawyn

  • BeBot Hero
  • ******
  • Posts: 521
  • Karma: +0/-0
Re: bugs in 0.3.4
« Reply #34 on: June 20, 2007, 10:01:29 pm »
I ran into the same problem regarding !invite with vhabot aswell.
So I just made !invite only for inviting other people and !join only for getting an invite yourself.

I've made this modification to all my bots that use a private group as well.

Offline Temar

  • Contributor
  • *******
  • Posts: 1140
  • Karma: +0/-0
    • AoFiles
Re: bugs in 0.3.4
« Reply #35 on: June 21, 2007, 08:50:09 pm »
Well i changed !invite to actualy Invite and got rid of !inviteuser now which works fine
i also tried moving some code from my Old privgroup to this new 1 for features such as faction restriction on !join and !invite

i get this error when trying to set a faction
Code: [Select]
Fatal error: Call to a member function on a non-object in /Sources/Bot.php on line 470

altho not finished this is how my privgroup is now
Code: [Select]
<?php
/*
* PrivGroup.php - Basic featureset for private group handeling (join/kick etc)
*
* BeBot - An Anarchy Online Chat Automaton
* Copyright (C) 2004 Jonas Jax
* Copyright (C) 2005 Thomas J. Stens� and ShadowRealm Creations
*
* Developed by:
* - Blondengy (RK1)
* - Khalem (RK1)
*
* See Credits file for all aknowledgements.
*
*  This program is free software; you can redistribute it and/or modify
*  it under the terms of the GNU General Public License as published by
*  the Free Software Foundation; either version 2 of the License, or
*  (at your option) any later version.
*
*  This program is distributed in the hope that it will be useful,
*  but WITHOUT ANY WARRANTY; without even the implied warranty of
*  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
*  GNU General Public License for more details.
*
*  You should have received a copy of the GNU General Public License
*  along with this program; if not, write to the Free Software
*  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307
*  USA
*
* File last changed at $LastChangedDate: 2007-06-08 11:26:40 +0200 (Fri, 08 Jun 2007) $
* Revision: $Id: PrivGroup.php 594 2007-06-08 09:26:40Z alreadythere $
*/


$privgroup = new PrivGroup($bot);

if (
$bot -> guildbot)
{
$joindef "gc";
$leavedef "gc";
}
else
{
$joindef "pgmsg";
$leavedef "none";
}
$longjoin "Which chat channels should be notified about joins to the private chat channel?";
$longleave "Which chat channels should be notified about leave to the private chat channel?";

$bot -> set -> create("PrivGroup""EchoJoin"$joindef$longjoin"none;pgmsg;gc;both");
$bot -> set -> create("PrivGroup""EchoLeave"$leavedef$longleave"none;pgmsg;gc;both");
$bot -> set -> create("PrivGroup""JoinString""#!NICKNAME!# (#!LEVEL!#/#!AT_ID!# #!FACTION!# #!PROFESSION!#, #!ORG!#) has joined #!BOTNAME!#""Formating string for join notifications."""TRUE);
$bot -> set -> create("PrivGroup""LeaveString""#!NICKNAME!# has left #!BOTNAME!#""Formating string for leave notifications."""TRUE);
$bot -> set -> create("PrivGroup""Deactivated"FALSE"Is joining the private chat deactived?");
$bot -> set -> create("PrivGroup""DeactivatedText""Private chatgroup is disabled!""The text shown if the private chat cannot be joined.""");

unset(
$longjoin);
unset(
$longleave);
unset(
$joindef);
unset(
$leavedef);

// Create sane default levels for the commands
$bot -> accesscontrol -> create("tell""join""GUEST");
$bot -> accesscontrol -> create("tell""chat""GUEST");
//$bot -> accesscontrol -> create("tell", "invite", "GUEST");
$bot -> accesscontrol -> create("tell""leave""ANONYMOUS");
$bot -> accesscontrol -> create("tell""kick""ANONYMOUS");
$bot -> accesscontrol -> create("tell""invite""LEADER");
$bot -> accesscontrol -> create("pgmsg""invite""LEADER");
$bot -> accesscontrol -> create("pgmsg""leave""ANONYMOUS");
$bot -> accesscontrol -> create("pgmsg""kick""ANONYMOUS");
$bot -> accesscontrol -> create("pgmsg""kickuser""LEADER");
$bot -> accesscontrol -> create("pgmsg""kickall""ADMIN");
$bot -> accesscontrol -> create("gc""join""MEMBER");
$bot -> accesscontrol -> create("gc""invite""ADMIN");
$bot -> accesscontrol -> create("gc""kickuser""ADMIN");
$bot -> accesscontrol -> create("gc""kickall""ADMIN");
$bot -> accesscontrol -> create("tell""lock""ADMIN");
$bot -> accesscontrol -> create("tell""faction""ADMIN");
$bot -> accesscontrol -> create("tell""forceinvite""ADMIN");
$bot -> accesscontrol -> create("tell""maxplayers""ADMIN");
$bot -> accesscontrol -> create("pgmsg""lock""ADMIN");
$bot -> accesscontrol -> create("pgmsg""faction""ADMIN");
$bot -> accesscontrol -> create("pgmsg""forceinvite""ADMIN");
$bot -> accesscontrol -> create("pgmsg""maxplayers""ADMIN");



$commands["tell"]["join"] = &$privgroup;
$commands["tell"]["chat"] = &$privgroup;
$commands["tell"]["leave"] = &$privgroup;
$commands["tell"]["kick"] = &$privgroup;
$commands["tell"]["invite"] = &$privgroup;
$commands["tell"]["invite"] = &$privgroup;
$commands["pgmsg"]["leave"] = &$privgroup;
$commands["pgmsg"]["invite"] = &$privgroup;
$commands["pgmsg"]["kick"] = &$privgroup;
$commands["pgmsg"]["kickuser"] = &$privgroup;
$commands["pgmsg"]["kickall"] = &$privgroup;
$commands["gc"]["join"] = &$privgroup;
$commands["gc"]["invite"] = &$privgroup;
$commands["gc"]["kickuser"] = &$privgroup;
$commands["gc"]["kickall"] = &$privgroup;
$commands['tell']['lock'] = &$PrivGroup;
$commands['tell']['faction'] = &$PrivGroup;
$commands['tell']['forceinvite'] = &$PrivGroup;
$commands['tell']['maxplayers'] = &$PrivGroup;
$commands['pgmsg']['lock'] = &$PrivGroup;
$commands['pgmsg']['faction'] = &$PrivGroup;
$commands['pgmsg']['forceinvite'] = &$PrivGroup;
$commands['pgmsg']['maxplayers'] = &$PrivGroup;



$commands["pgjoin"][] = &$privgroup;
$commands["pgleave"][] = &$privgroup;



/*
The Class itself...
*/
class PrivGroup
{
var $bot;
var $mode;


/*
Constructor:
Hands over a referance to the "Bot" class.
*/
function PrivGroup (&$bot)
{
$this -> bot = &$bot;

$this -> help['description'] = 'Module to handle the privat group.';
$this -> help['command']['join']="Join the private group of the bot.";
$this -> help['command']['chat']="Join the private group of the bot.";
// $this -> help['command']['invite']="Join the private group of the bot.";
$this -> help['command']['leave'] = "Leave the private group of the bot.";
$this -> help['command']['kick'] = "Leave the private group of the bot.";
$this -> help['command']['invite <name>'] = "Invites the player <name> to the private group of the bot.";
$this -> help['command']['kickuser <name>'] = "Kicks player <name> from the private group of the bot.";
$this -> help['command']['kickall'] = "Completely empties the private group of the bot.";

$this -> faction 'Clan';
$this -> mode 'include';
$this -> lock 'disabled';
$this -> maxplayers '200';

}



/*
This gets called on a tell with the command
*/
function tell($name$msg)
{
if (preg_match("/^" $this -> bot -> commpre "join/i"$msg)
// || preg_match("/^" . $this -> bot -> commpre . "invite$/i", $msg)
|| preg_match("/^" $this -> bot -> commpre "chat/i"$msg))
{
if ($this -> bot -> settings["Privgroup"]["Deactivated"])
{
$this -> bot -> send_tell($name$this -> bot -> settings["Privgroup"]["Deactivatedtext"]);
}
else
{
$this -> bot -> aoc -> privategroup_invite($name);
}
}
else if (preg_match("/^" $this -> bot -> commpre "leave/i"$msg)
|| preg_match("/^" $this -> bot -> commpre "kick$/i"$msg))
$this -> bot -> aoc -> privategroup_kick($name);
else if (preg_match("/^" $this -> bot -> commpre "invite (.+)$/i"$msg$info))
{
if ($this -> bot -> settings["Privgroup"]["Deactivated"])
{
$this -> bot -> send_tell($name$this -> bot -> settings["Privgroup"]["Deactivatedtext"]);
}
else
{
$this -> invite($name"tell"$info[1]);
}
}
else if (preg_match('/^'.$this -> bot -> commpre.'lock/i'$msg$info)) $c $this -> lock($name);
else if (preg_match('/^'.$this -> bot -> commpre.'maxplayers *([-0-9]+)*/i'$msg$info)) $c = isset($info['1']) ? $this -> max_players($name$info['1']) : $this -> max_players($name'return');
else if (preg_match('/^'.$this -> bot -> commpre.'forceinvite (.+)$/i'$msg$info)) $c $this -> forceinvite($nameucfirst($info['1']));
else if (preg_match('/^'.$this -> bot -> commpre.'faction exclude (.+)/i'$msg$info)) $c $this -> faction($name'exclude'ucfirst($info['1']));
else if (preg_match('/^'.$this -> bot -> commpre.'faction (.+)$/i'$msg$info)) $c $this -> faction($name'include'ucfirst($info['1']));
else $c =  $this -> bot -> send_help($name);
       
$c != '' $this -> bot -> send_tell($name$c) : NULL;

}



/*
This gets called on a msg in the privgroup with the command
*/
function pgmsg($name$msg)
{
if (preg_match("/^" $this -> bot -> commpre "leave/i"$msg))
$this -> bot -> aoc -> privategroup_kick($name);
else if (preg_match("/^" $this -> bot -> commpre "kick$/i"$msg))
$this -> bot -> aoc -> privategroup_kick($name);
else if (preg_match("/^" $this -> bot -> commpre "invite (.+)$/i"$msg$info))
$this -> invite($name"pgmsg"$info[1]);
else if (preg_match("/^" $this -> bot -> commpre "kickuser (.+)$/i"$msg$info))
$this -> bot -> aoc -> privategroup_kick($info[1]);
else if (preg_match("/^" $this -> bot -> commpre "kickall$/i"$msg))
$this -> kick_all($name);
else if (preg_match('/^'.$this -> bot -> commpre.'lock/i'$msg$info)) $c $this -> lock($name);
else if (preg_match('/^'.$this -> bot -> commpre.'maxplayers *([-0-9]+)*/i'$msg$info)) $c = isset($info['1']) ? $this -> max_players($name$info['1']) : $this -> max_players($name'return');
else if (preg_match('/^'.$this -> bot -> commpre.'forceinvite (.+)$/i'$msg$info)) $c $this -> forceinvite($nameucfirst($info['1']));
else if (preg_match('/^'.$this -> bot -> commpre.'faction exclude (.+)/i'$msg$info)) $c $this -> faction($name'exclude'ucfirst($info['1']));
else if (preg_match('/^'.$this -> bot -> commpre.'faction (.+)$/i'$msg$info)) $c $this -> faction($name'include'ucfirst($info['1']));
$c != '' $this -> bot -> send_pgroup($c) : NULL;
}




/*
This gets called on a msg in the guildchat with the command
*/
function gc($name$msg)
{
if (preg_match("/^" $this -> bot -> commpre "join/i"$msg))
{
if ($this -> bot -> settings["Privgroup"]["Deactivated"])
{
$this -> bot -> send_gc($this -> bot -> settings["Privgroup"]["Deactivatedtext"]);
}
else
{
$this -> bot -> aoc -> privategroup_invite($name);
}
}
else if (preg_match("/^" $this -> bot -> commpre "invite (.+)$/i"$msg$info))
{
if ($this -> bot -> settings["Privgroup"]["Deactivated"])
{
$this -> bot -> send_gc($this -> bot -> settings["Privgroup"]["Deactivatedtext"]);
}
else
{
$this -> invite($name"gc"$info[1]);
}
}
else if (preg_match("/^" $this -> bot -> commpre "kickuser (.+)$/i"$msg$info))
$this -> bot -> aoc -> privategroup_kick($info[1]);
else if (preg_match("/^" $this -> bot -> commpre "kickall$/i"$msg$info))
$this -> kick_all($name"gc");
}



/*
Invite a user to private group.
*/
function invite($from$type$who)
{
if ($this -> bot -> botname == $who)
{
$msg "You cannot invite the bot to its own chat group";
}
else if ($this -> bot -> aoc -> get_uid($who))
{
if($this -> faction($who'''') == '1') {
$this -> bot -> aoc -> privategroup_invite($who);
$this -> bot -> send_tell($who"You have been invited to the privategroup by " $from ".");
$msg "<font color=#ffff00>" $who "</font> has been invited.";
} else $msg "Bot invites are currently restricted to<font color=#ffff00>".$this -> faction."</font>.";
}
else
{
$msg "Player <font color=#ffff00>" $who "</font> does not exist.";
}

if ($type == "tell")
$this -> bot -> send_tell($from$msg);
else if ($type == "pgmsg")
$this -> bot -> send_pgroup($msg);
else
$this -> bot -> send_gc($msg);
}

function kick_all($name$chan "pgmsg")
{
$text "##highlight##" $name " ##end##kicked all users from the private group!";
if ($chan == "gc")
{
$this -> bot -> send_gc($text);
}
$this -> bot -> send_pgroup($text);

$this -> bot -> aoc -> privategroup_kick_all();
}

function pgjoin($name)
{
if ($this -> bot -> settings["Privgroup"]["Echojoin"] == "none")
return;

// Parse the string first:
$text $this -> parse_text($name$this -> bot -> settings["Privgroup"]["Joinstring"], "has joined");

switch (strtolower($this -> bot -> settings["Privgroup"]["Echojoin"]))
{
case "gc":
$this -> bot -> send_gc($text);
break;
case "pgmsg":
$this -> bot -> send_pgroup($text);
break;
case "both":
$this -> bot -> send_pgroup($text);
$this -> bot -> send_gc($text);
break;
default:
break;
}
}

function pgleave($name)
{
if ($this -> bot -> settings["Privgroup"]["Echoleave"] == "none")
return;

// Parse the string first:
$text $this -> parse_text($name$this -> bot -> settings["Privgroup"]["Leavestring"], "has left");

switch (strtolower($this -> bot -> settings["Privgroup"]["Echoleave"]))
{
case "gc":
$this -> bot -> send_gc($text);
break;
case "pgmsg":
$this -> bot -> send_pgroup($text);
break;
case "both":
$this -> bot -> send_pgroup($text);
$this -> bot -> send_gc($text);
break;
default:
break;
}
}

function parse_text($name$string$actionstring)
{
$info $this -> bot -> whois -> lookup($name);

// Only "Name joined bot" if no whois entry was found
if ($info["error"])
{
return "##highlight##" $name " ##end##" $actionstring " " $this -> bot -> botname;
}

foreach ($info as $key => $value)
{
$string eregi_replace("#!" $key "!#""##highlight##" $value "</font>"$string);
}

$string  eregi_replace("#!BOTNAME!#"$this -> bot -> botname$string);

return $string;
}


function forceinvite($name$who) {
if($this -> bot -> botname != $who) {
if(!$this -> bot -> commands['tell']['banlist'] -> bancheck($who)) {
if($this -> bot -> commands['pgmsg']['leader'] -> raidleader == $name || $this -> bot -> admin -> in_group($name'admin')) {
$this -> bot -> aoc -> privategroup_invite($who);
$c $this -> highlight_1.$who.'</font> has been invited to <botname>.';
} else $c 'You do not have permission to use this command.';
} else $c 'Please do not try and to invite <botname>.';
} else $c $this -> highlight_1.$who.'</font> is banned from <botname>.';
return $c;
}

function lock($name) {
if($this -> bot -> commands['pgmsg']['leader'] -> raidleader == $name || $this -> bot -> admin -> in_group($name'admin')) {
$this -> lock $this -> lock == 'enabled' 'disabled' 'enabled';
$c 'The bot lock has been '.$this -> highlight_1.$this -> lock.'</font> by '.$this -> highlight_1.$name.'</font>.';
} else $c 'You do not have permission to use this command.';
return $c;
}

function faction($name$mode$msg) {
if($msg != '') {
if($msg == 'Omni' || $msg == 'Clan' || $msg == 'Neutral' || $msg == 'All') {
if($msg != 'All' || $mode != 'exclude') {
$this -> mode $mode;
$this -> faction $msg;
$c 'Invites changed to '.$this -> highlight_1.$msg.$faction.' </font>faction by '.$this -> highlight_1.$name.'</font>.';
} else $c 'You cannot exclude everyone from bot invites.';
} else $c 'The faction '.$this -> highlight_1.$msg.'</font> does not exist.';
return $c;
}
else {
$this -> user $this -> bot -> whois -> lookup($name);
if($this -> faction == 'All' || $this -> faction == $this -> user['faction']) return 1;
else return false;
}
}

function max_players($name$msg) {
if($msg == 'return') return 'Maximum players currently set to '.$this -> highlight_1.$this -> maxplayers.'</font>.';
if($this -> bot -> commands['pgmsg']['leader'] -> raidleader == $name || $this -> bot -> admin -> in_group($name'admin')) {
if($msg '0') {
$this -> maxplayers $msg;
$c 'Maximum players set to '.$this -> highlight_1.$msg.'</font> by '.$this -> highlight_1.$name.'</font>.';
}  else $c 'You cannot set maximum players below 1.';
} else $c 'You do not have permission to use tihs command.';
return $c;
}

}
?>


Offline Khalem

  • BeBot Founder
  • Administrator
  • ********
  • Posts: 1169
  • Karma: +0/-0
    • http://www.ancarim.com
Re: bugs in 0.3.4
« Reply #36 on: June 21, 2007, 10:11:24 pm »
I ran into the same problem regarding !invite with vhabot aswell.
So I just made !invite only for inviting other people and !join only for getting an invite yourself.

If i get my hands on whoever did this, i'll kill em!!
Ok, not really.

But yeah, annoying as hell. !invite <user> is the expected functionality, so i suggest we just revert back to what Vhab suggested.
BeBot Founder and Fixer Kingpin

Offline Ebag333

  • Contributor
  • *******
  • Posts: 134
  • Karma: +0/-0
Re: bugs in 0.3.4
« Reply #37 on: June 21, 2007, 10:32:44 pm »
The "problem" is that !invite and !invite <person> should have two different access levels.

For example, I may want random people to be able to join my bot, but not invite other people (only my members can do that).

The trouble will be keeping the two seperate while using the same command.

Since *MANY* bots use !invite instead of !chat or !join (who came up with !chat BTW?), it's kinda the norm for people to /tell bot !invite to join the bot.

If you make it so that !invite functions like !inviteuser, then you're removing that standard, and people will complain about that. :)

Darned if you do, darned if you don't.

Offline Temar

  • Contributor
  • *******
  • Posts: 1140
  • Karma: +0/-0
    • AoFiles
Re: bugs in 0.3.4
« Reply #38 on: June 21, 2007, 11:47:57 pm »
ive always known !invite to be to invite other never my self
and !join is for myself

Offline Alreadythere

  • BeBot Maintainer
  • BeBot Hero
  • ******
  • Posts: 1288
  • Karma: +0/-0
Re: bugs in 0.3.4
« Reply #39 on: June 22, 2007, 12:18:01 am »
If i get my hands on whoever did this, i'll kill em!!
Ok, not really.
Lol guilty as charged.

I don't really care what way the commands are called, I just didn't like the double use of them due to the access levels. And I'm no friend of abusing settings for subcommands.

That being said, if we move back to !invite user we'll run into the same problem with !kickuser and !kick. Quite a lot of people I see using bots expect !kick to work to leave bots, instead of !leave.

Offline Temar

  • Contributor
  • *******
  • Posts: 1140
  • Karma: +0/-0
    • AoFiles
Re: bugs in 0.3.4
« Reply #40 on: June 22, 2007, 02:42:13 am »
maybe u should make so if nothing get put after !kick or wateva its like !leave but if there is like a name the kick that name

Offline Khalem

  • BeBot Founder
  • Administrator
  • ********
  • Posts: 1169
  • Karma: +0/-0
    • http://www.ancarim.com
Re: bugs in 0.3.4
« Reply #41 on: June 22, 2007, 05:25:12 am »
imho, we should just throw an error message stating permission denied if someone tries to use !kick and doesnt have permission to use it. People do learn, and it will ultimately be up to the bot admin what to allow.

Using !kick instead of !leave is just lazyness, and from what i've witnessed over the years, if !kick fails, most people automatically do !leave.

I think the same applies for !invite. Just a force of habit :)
And ultimately i think its more annoying in the long run for !invite <user> not to work.
BeBot Founder and Fixer Kingpin

Offline Temar

  • Contributor
  • *******
  • Posts: 1140
  • Karma: +0/-0
    • AoFiles
Re: bugs in 0.3.4
« Reply #42 on: June 23, 2007, 01:08:54 pm »
Also the Prefix thing has i problem i think
as u only set prefix to "botname" and end up with "botname_tablename"
i noticed when i put nothing as prefix i ended with tables named "_tablename"
you should have it so the user put the _ in them selfs which is how all things with prefix work from my experience

Offline Ebag333

  • Contributor
  • *******
  • Posts: 134
  • Karma: +0/-0
Re: bugs in 0.3.4
« Reply #43 on: June 23, 2007, 06:20:46 pm »
Also the Prefix thing has i problem i think
as u only set prefix to "botname" and end up with "botname_tablename"
i noticed when i put nothing as prefix i ended with tables named "_tablename"
you should have it so the user put the _ in them selfs which is how all things with prefix work from my experience

Yeah, I noticed that myself.

I just checked the code, and this is what we have

Code: [Select]
<php?
if (empty($table_prefix))
{
$this -> table_suffix = strtolower($botname);
}
else
{
$this -> table_prefix = $table_prefix;
}
?>

Changed table_suffix to table_prefix as I can't find table_suffix anywhere else in the code.

Now if you don't specify a prefix, it's always botname_tablename.

Committed to SVN.
« Last Edit: June 23, 2007, 06:23:25 pm by Ebag333 »

Offline Alreadythere

  • BeBot Maintainer
  • BeBot Hero
  • ******
  • Posts: 1288
  • Karma: +0/-0
Re: bugs in 0.3.4
« Reply #44 on: June 23, 2007, 06:59:37 pm »
I guess that error ended in when I did the multiple bot change...

 

* Recent Posts
[AoC] special char for items module by bitnykk
[February 09, 2024, 09:41:18 pm]


0.8.x updates for AoC by bitnykk
[January 30, 2024, 11:16:08 pm]


0.8.x updates for AO by bitnykk
[January 30, 2024, 11:15:37 pm]


BeBot still alive & kicking ! by bitnykk
[December 17, 2023, 12:58:44 am]


Bebot and Rasberry by bitnykk
[November 29, 2023, 11:04:14 pm]

* Who's Online
  • Dot Guests: 580
  • Dot Hidden: 0
  • Dot Users: 0

There aren't any users online.
* Forum Staff
bitnykk admin bitnykk
Administrator
Khalem admin Khalem
Administrator
WeZoN gmod WeZoN
Global Moderator
SimplePortal 2.3.7 © 2008-2024, SimplePortal