General > Helpful posts

Removing member req

(1/1)

Ltes:
well than thanks once again to craized, i can give more insight into teh world of bebot :wink:

allright in conjunction with faction only mod curtusy again of craized lol, but the member command kind of dimishes this effect.  to remove this requirement, you're going to want to open your bot.php in the main directory.

--- Code: ---function is_member($uname)
    {
      $result = $this -> db -> select("SELECT nickname FROM members WHERE id = " . $this -> aoc -> get_uid($uname));
      if (!empty($result))
        return 1;

$result = $this -> db -> select("SELECT id FROM guests WHERE id = " . $this -> aoc -> get_uid($uname));
      if (!empty($result))
        return 2;

      return false;
    }

--- End code ---

change that to

--- Code: ---
function is_member($uname)
{
    return 1;
}

--- End code ---


there, now the bot will accept all requests to join from the sides you specified

have fun...go use your bot...shoo

Malosar:
I modified is_member allowing me to open and lock my raidbot to the public.


--- Code: ---        function is_member($uname)
        {
                $locktest = $this -> db -> select("SELECT value FROM settings WHERE value = 'locked'");
                $result = $this -> db -> select("SELECT nickname FROM members WHERE id = " . $this -> aoc -> get_uid($uname));
                if (!empty($result))
                return 1;

                $result = $this -> db -> select("SELECT id FROM guests WHERE id = " . $this -> aoc -> get_uid($uname));
                if (!empty($result))
                return 2;

                if (empty($locktest))
                return 2;

                return false;
        }
--- End code ---


And my lock.php module:


--- Code: ---<?php

  $lock = new Lock($bot);


  $commands["pgmsg"]["lock"] = &$lock;
  $commands["pgmsg"]["open"] = &$lock;




  /*
    The Class itself...
  */
  class Lock
  {
    var $bot;
    var $lockstat;



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

    function pgmsg($name,$msg) {
      if($this -> bot -> admin -> in_group($name, "admin")) {
                if (preg_match("/^" . $this -> bot -> commpre . "lock/i", $msg)) {
                        $this -> bot -> db -> query("UPDATE settings SET value='locked' WHERE setting = 'lock'");
                        $this -> bot -> send_pgroup("<botname> has been locked to members only");
                }
                if (preg_match("/^" . $this -> bot -> commpre . "open/i", $msg)) {
                        $this -> bot -> db -> query("UPDATE settings SET value='open' WHERE setting = 'lock'");
                        $this -> bot -> send_pgroup("<botname> has been opened to the public");
                }
        }
        else
                $this -> bot -> send_pgroup("You must be an admin to use this command.");
     }
  }
?>
--- End code ---

Also modifed the inc_pgleave function in bot.php to check whether an admin is leaving the raidbot channel and it's still unlocked.


--- Code: --- function inc_pgleave($args)
{
$locktest = $this -> db -> select("SELECT value FROM settings WHERE value = 'locked'");
$user = $this -> aoc -> get_uname($args[1]);
if(empty($locktest) && $this -> admin -> in_group($user,"admin")) {
$this -> send_tell($user,"The bot is currently unlocked and you are an admin, please make sure the bot is locked after use");
$this -> send_tell("superadminname","The admin $user has left the raidbot unlocked");
}
$this -> log("PGRP", "LEAVE", $user . " left privategroup.");

if (!empty($this -> commands["pgleave"]))
{
$keys = array_keys($this -> commands["pgleave"]);
foreach ($keys as $key)
$this -> commands["pgleave"][$key] -> pgleave($user);
}
}
--- End code ---

Obviously you would change "superadminname" to whoever owns the bot, or even code it to send it to all superadmins.

There are better ways to go about it as I wrote it fairly quickly when I wanted to open my bot to the public.

Navigation

[0] Message Index

Go to full version