<?xml version="1.0" encoding="windows-1251"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
	<channel>
		<atom:link href="https://besthosting.russ-forum.ru/export.php?type=rss" rel="self" type="application/rss+xml" />
		<title>Модификации jimbot</title>
		<link>https://besthosting.russ-forum.ru/</link>
		<description>Модификации jimbot</description>
		<language>ru-ru</language>
		<lastBuildDate>Fri, 27 Jul 2012 10:56:17 +0400</lastBuildDate>
		<generator>MyBB/mybb.ru</generator>
		<item>
			<title>бесконечные команды</title>
			<link>https://besthosting.russ-forum.ru/viewtopic.php?pid=11#p11</link>
			<description>&lt;div class=&quot;code-box&quot;&gt;&lt;strong class=&quot;legend&quot;&gt;Код:&lt;/strong&gt;&lt;div class=&quot;blockcode&quot;&gt;&lt;div class=&quot;scrollbox&quot; style=&quot;height: 35em&quot;&gt;&lt;pre&gt;public void srvs_props_cmd(HttpConnection con)
    throws IOException
  {
    String uid = con.get(&amp;quot;uid&amp;quot;);
    String us = con.get(&amp;quot;us&amp;quot;);
    if ((!checkSession(uid)) &amp;amp;&amp;amp; 
      (!checkSession_user(uid, us))) {
      SrvUtil.error(con, &amp;quot;Ошибка авторизации!&amp;quot;);
      return;
    }
    String ns = con.get(&amp;quot;ns&amp;quot;);
    if (!Manager.getInstance().getServiceNames().contains(ns)) {
      SrvUtil.error(con, &amp;quot;Отсутствует сервис с таким именем!&amp;quot;);
      return;
    }
    con.print(SrvUtil.HTML_HEAD + &amp;quot;&amp;lt;TITLE&amp;gt;&amp;quot;+MainProps.VERSION+&amp;quot; &amp;lt;/TITLE&amp;gt;&amp;lt;/HEAD&amp;gt;&amp;quot; + SrvUtil.BODY + &amp;quot;&amp;lt;H2&amp;gt;Панель управления ботом&amp;lt;/H2&amp;gt;&amp;quot; + &amp;quot;&amp;lt;H3&amp;gt;Настройки команд для сервиса &amp;quot; + ns + &amp;quot;&amp;lt;/H3&amp;gt;&amp;quot; + &amp;quot;&amp;lt;H3&amp;gt;После изменений нужно перезагрузить бота!&amp;lt;/H3&amp;gt;&amp;quot;);

    String s = &amp;quot;&amp;lt;FORM METHOD=POST ACTION=&#039;&amp;quot; + con.getURI() + &amp;quot;&#039;&amp;gt;&amp;quot; + 
            &amp;quot;&amp;lt;INPUT TYPE=&#039;hidden&#039; NAME=&#039;page&#039; VALUE=&#039;srvs_props_cmd_in&#039;&amp;gt;&amp;quot; + 
            &amp;quot;&amp;lt;INPUT TYPE=&#039;hidden&#039; NAME=&#039;ns&#039; VALUE=&#039;&amp;quot; + ns +
            &amp;quot;&#039;&amp;gt;&amp;quot; + &amp;quot;&amp;lt;INPUT TYPE=&#039;hidden&#039; NAME=&#039;us&#039; VALUE=&#039;&amp;quot; + us + 
            &amp;quot;&#039;&amp;gt;&amp;quot; + &amp;quot;&amp;lt;INPUT TYPE=&#039;hidden&#039; NAME=&#039;uid&#039; VALUE=&#039;&amp;quot; + uid + &amp;quot;&#039;&amp;gt;&amp;quot;;

    s = s + &amp;quot;&amp;lt;p&amp;gt;&amp;lt;a href=&#039;&amp;quot; + con.getURI() + &amp;quot;?uid=&amp;quot; + uid + &amp;quot;&amp;amp;us=&amp;quot; + us + &amp;quot;&amp;amp;page=srvs_cmd_add&amp;amp;ns=&amp;quot; + ns + 
            &amp;quot;&#039;&amp;gt;Добавить новую&amp;lt;/a&amp;gt;&amp;lt;br&amp;gt;&amp;quot;;
    for (int i = 0; i &amp;lt; Manager.getInstance().getService(ns).getProps().cmdCount(); i++) {
      String op = Manager.getInstance().getService(ns).getProps().getCmd(i);
      op = (op.equals(&amp;quot;&amp;quot;)) || (op == null) ? &amp;quot;пусто&amp;quot; : op;
      s = s + &amp;quot;&amp;lt;p&amp;gt;&amp;lt;b&amp;gt;Команда &amp;quot; + i + &amp;quot; [ &amp;quot; + op + &amp;quot; ] - &amp;lt;a href=&#039;&amp;quot; 
              + con.getURI() + &amp;quot;?uid=&amp;quot; + uid + &amp;quot;&amp;amp;us=&amp;quot; + us + &amp;quot;&amp;amp;page=srvs_edit_cmd&amp;amp;ns=&amp;quot; + ns + 
              &amp;quot;&amp;amp;nomer=&amp;quot; + i + &amp;quot;&#039;&amp;gt;&amp;lt;INPUT TYPE=button VALUE=\&amp;quot;Редактировать\&amp;quot;&amp;gt;&amp;lt;/a&amp;gt;&amp;quot; + &amp;quot; - &amp;lt;a href=&#039;&amp;quot; +
              con.getURI() + &amp;quot;?uid=&amp;quot; + uid + &amp;quot;&amp;amp;us=&amp;quot; + us + &amp;quot;&amp;amp;page=srvs_props_cmd_del&amp;amp;ns=&amp;quot; + ns + 
              &amp;quot;&amp;amp;nomer=&amp;quot; + i + &amp;quot;&#039;&amp;gt;&amp;lt;INPUT TYPE=button VALUE=\&amp;quot;Очистить\&amp;quot;&amp;gt;&amp;lt;/a&amp;gt;&amp;quot; + &amp;quot; - &amp;lt;a href=&#039;&amp;quot; + 
              con.getURI() + &amp;quot;?uid=&amp;quot; + uid + &amp;quot;&amp;amp;us=&amp;quot; + us + &amp;quot;&amp;amp;page=srvs_cmd_del&amp;amp;ns=&amp;quot; + ns + 
              &amp;quot;&amp;amp;nomer=&amp;quot; + i + &amp;quot;&#039;&amp;gt;&amp;lt;INPUT TYPE=button VALUE=\&amp;quot;Удалить\&amp;quot;&amp;gt;&amp;lt;/a&amp;gt;&amp;lt;/b&amp;gt;&amp;lt;/p&amp;gt;&amp;quot;;
    }

    con.print(s);
    if (!checkSession(uid))
      con.print(&amp;quot;&amp;lt;/fieldset&amp;gt;&amp;lt;/table&amp;gt;&amp;lt;P&amp;gt;&amp;lt;INPUT TYPE=&#039;button&#039; VALUE=&#039;Назад&#039; onClick=location.href=&#039;&amp;quot; + con.getURI() + &amp;quot;?uid=&amp;quot; + uid + &amp;quot;&amp;amp;us=&amp;quot; + us + &amp;quot;&amp;amp;page=main_page_user&#039;&amp;gt;&amp;lt;/FORM&amp;gt;&amp;quot;);
    else {
      con.print(&amp;quot;&amp;lt;/fieldset&amp;gt;&amp;lt;/table&amp;gt;&amp;lt;P&amp;gt;&amp;lt;INPUT TYPE=&#039;button&#039; VALUE=&#039;Назад&#039; onClick=location.href=&#039;&amp;quot; + con.getURI() + &amp;quot;?uid=&amp;quot; + uid + &amp;quot;&amp;amp;us=&amp;quot; + us + &amp;quot;&amp;amp;page=main_page&#039;&amp;gt;&amp;lt;/FORM&amp;gt;&amp;quot;);
    }
    con.print(&amp;quot;&amp;lt;/FONT&amp;gt;&amp;lt;/BODY&amp;gt;&amp;lt;/HTML&amp;gt;&amp;quot;);
  }

  public void srvs_edit_cmd(HttpConnection con)
    throws IOException
  {
    String uid = con.get(&amp;quot;uid&amp;quot;);
    String us = con.get(&amp;quot;us&amp;quot;);
    if ((!checkSession(uid)) &amp;amp;&amp;amp; 
      (!checkSession_user(uid, us))) {
      SrvUtil.error(con, &amp;quot;Ошибка авторизации!&amp;quot;);
      return;
    }
    String ns = con.get(&amp;quot;ns&amp;quot;);
    if (!Manager.getInstance().getServiceNames().contains(ns)) {
      SrvUtil.error(con, &amp;quot;Отсутствует сервис с таким именем!&amp;quot;);
      return;
    }
    String nomer = con.get(&amp;quot;nomer&amp;quot;);
    int i = Integer.parseInt(nomer);
    con.print(SrvUtil.HTML_HEAD + &amp;quot;&amp;lt;TITLE&amp;gt;&amp;quot;+MainProps.VERSION+&amp;quot; &amp;lt;/TITLE&amp;gt;&amp;lt;/HEAD&amp;gt;&amp;quot; + SrvUtil.BODY + &amp;quot;&amp;lt;H2&amp;gt;Панель управления ботом&amp;lt;/H2&amp;gt;&amp;quot; + &amp;quot;&amp;lt;H3&amp;gt;Редактирование команды &amp;quot; + i + &amp;quot;&amp;lt;/H3&amp;gt;&amp;quot;);

    String s = &amp;quot;&amp;lt;FORM METHOD=POST ACTION=&#039;&amp;quot; + con.getURI() + &amp;quot;&#039;&amp;gt;&amp;quot; + &amp;quot;&amp;lt;INPUT TYPE=hidden NAME=&#039;page&#039; VALUE=&#039;srvs_edit_cmd_in&#039;&amp;gt;&amp;quot; + &amp;quot;&amp;lt;INPUT TYPE=hidden NAME=&#039;ns&#039; VALUE=&#039;&amp;quot; + ns + &amp;quot;&#039;&amp;gt;&amp;quot; + &amp;quot;&amp;lt;INPUT TYPE=hidden NAME=&#039;us&#039; VALUE=&#039;&amp;quot; + us + &amp;quot;&#039;&amp;gt;&amp;quot; + &amp;quot;&amp;lt;INPUT TYPE=hidden NAME=&#039;uid&#039; VALUE=&#039;&amp;quot; + uid + &amp;quot;&#039;&amp;gt;&amp;quot; + &amp;quot;&amp;lt;INPUT TYPE=hidden NAME=&#039;nomer&#039; VALUE=&#039;&amp;quot; + nomer + &amp;quot;&#039;&amp;gt;&amp;quot;;

    s = s + &amp;quot;&amp;lt;p&amp;gt;&amp;lt;b&amp;gt;Команда&amp;lt;br&amp;gt;&amp;lt;INPUT TYPE=&#039;text&#039; NAME=&#039;cmd_&amp;quot; + i + &amp;quot;&#039; VALUE=&#039;&amp;quot; + Manager.getInstance().getService(ns).getProps().getCmd(i) + &amp;quot;&#039;&amp;gt;&amp;lt;br&amp;gt;&amp;quot; + &amp;quot;&amp;lt;p&amp;gt;&amp;lt;b&amp;gt;Ответ на команду&amp;lt;br&amp;gt;&amp;lt;textarea name=&#039;text_&amp;quot; + i + &amp;quot;&#039; cols=&#039;80&#039; rows=&#039;30&#039;&amp;gt;&amp;quot; + Manager.getInstance().getService(ns).getProps().getText(i) + &amp;quot;&amp;lt;/textarea&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;quot;;

    s = s + &amp;quot;&amp;lt;P&amp;gt;&amp;lt;INPUT TYPE=&#039;submit&#039; VALUE=&#039;Сохранить&#039;&amp;gt;&amp;quot;;
    con.print(s);
    con.print(&amp;quot;&amp;lt;/fieldset&amp;gt;&amp;lt;/table&amp;gt;&amp;quot;);
    con.print(&amp;quot;&amp;lt;P&amp;gt;&amp;lt;INPUT TYPE=button VALUE=&#039;Назад&#039; onClick=location.href=&#039;&amp;quot; + con.getURI() + &amp;quot;?uid=&amp;quot; + uid + &amp;quot;&amp;amp;us=&amp;quot; + us + &amp;quot;&amp;amp;page=srvs_props_cmd&amp;amp;ns=&amp;quot; + ns + &amp;quot;&#039;&amp;gt;&amp;lt;/FORM&amp;gt;&amp;quot;);
    con.print(&amp;quot;&amp;lt;/FONT&amp;gt;&amp;lt;/BODY&amp;gt;&amp;lt;/HTML&amp;gt;&amp;quot;);
  }

  public void srvs_edit_cmd_in(HttpConnection con)
    throws IOException
  {
    String uid = con.get(&amp;quot;uid&amp;quot;);
    String us = con.get(&amp;quot;us&amp;quot;);
    if ((!checkSession(uid)) &amp;amp;&amp;amp; 
      (!checkSession_user(uid, us))) {
      SrvUtil.error(con, &amp;quot;Ошибка авторизации!&amp;quot;);
      return;
    }
    String ns = con.get(&amp;quot;ns&amp;quot;);
    if (!Manager.getInstance().getServiceNames().contains(ns)) {
      SrvUtil.error(con, &amp;quot;Отсутствует сервис с таким именем!&amp;quot;);
      return;
    }
    String nomer = con.get(&amp;quot;nomer&amp;quot;);
    int i = Integer.parseInt(nomer);
    Manager.getInstance().getService(ns).getProps().setCmd(i, con.get(&amp;quot;cmd_&amp;quot; + i), con.get(&amp;quot;text_&amp;quot; + i));
    Manager.getInstance().getService(ns).getProps().save();

    con.print(&amp;quot;&amp;lt;meta http-equiv=&#039;Refresh&#039; content=&#039;0; url=&amp;quot; + con.getURI() + &amp;quot;?uid=&amp;quot; + uid + &amp;quot;&amp;amp;us=&amp;quot; + us + &amp;quot;&amp;amp;page=srvs_props_cmd&amp;amp;ns=&amp;quot; + ns + &amp;quot;&#039; /&amp;gt;&amp;quot;);
  }

  public void srvs_props_cmd_del(HttpConnection con)
    throws IOException
  {
    String uid = con.get(&amp;quot;uid&amp;quot;);
    String us = con.get(&amp;quot;us&amp;quot;);
    if ((!checkSession(uid)) &amp;amp;&amp;amp; 
      (!checkSession_user(uid, us))) {
      SrvUtil.error(con, &amp;quot;Ошибка авторизации!&amp;quot;);
      return;
    }
    String ns = con.get(&amp;quot;ns&amp;quot;);
    if (!Manager.getInstance().getServiceNames().contains(ns)) {
      SrvUtil.error(con, &amp;quot;Отсутствует сервис с таким именем!&amp;quot;);
      return;
    }
    String nomer = con.get(&amp;quot;nomer&amp;quot;);
    int i = Integer.parseInt(nomer);
    Manager.getInstance().getService(ns).getProps().setCmd(i, &amp;quot;&amp;quot;, &amp;quot;&amp;quot;);
    Manager.getInstance().getService(ns).getProps().save();

    con.print(&amp;quot;&amp;lt;meta http-equiv=&#039;Refresh&#039; content=&#039;0; url=&amp;quot; + con.getURI() + &amp;quot;?uid=&amp;quot; + uid + &amp;quot;&amp;amp;us=&amp;quot; + us + &amp;quot;&amp;amp;page=srvs_props_cmd&amp;amp;ns=&amp;quot; + ns + &amp;quot;&#039; /&amp;gt;&amp;quot;);
  }

  public void srvs_cmd_add(HttpConnection con)
    throws IOException
  {
    String uid = con.get(&amp;quot;uid&amp;quot;);
    String us = con.get(&amp;quot;us&amp;quot;);
    if ((!checkSession(uid)) &amp;amp;&amp;amp; 
      (!checkSession_user(uid, us))) {
      SrvUtil.error(con, &amp;quot;Ошибка авторизации!&amp;quot;);
      return;
    }
    String ns = con.get(&amp;quot;ns&amp;quot;);
    if (!Manager.getInstance().getServiceNames().contains(ns)) {
      SrvUtil.error(con, &amp;quot;Отсутствует сервис с таким именем!&amp;quot;);
      return;
    }
    Manager.getInstance().getService(ns).getProps().addCmd();
    Manager.getInstance().getService(ns).getProps().save();

    con.print(&amp;quot;&amp;lt;meta http-equiv=&#039;Refresh&#039; content=&#039;0; url=&amp;quot; + con.getURI() + &amp;quot;?uid=&amp;quot; + uid + &amp;quot;&amp;amp;us=&amp;quot; + us + &amp;quot;&amp;amp;page=srvs_props_cmd&amp;amp;ns=&amp;quot; + ns + &amp;quot;&#039; /&amp;gt;&amp;quot;);
  }

  public void srvs_cmd_del(HttpConnection con)
    throws IOException
  {
    String uid = con.get(&amp;quot;uid&amp;quot;);
    String us = con.get(&amp;quot;us&amp;quot;);
    if ((!checkSession(uid)) &amp;amp;&amp;amp; 
      (!checkSession_user(uid, us))) {
      SrvUtil.error(con, &amp;quot;Ошибка авторизации!&amp;quot;);
      return;
    }
    String ns = con.get(&amp;quot;ns&amp;quot;);
    if (!Manager.getInstance().getServiceNames().contains(ns)) {
      SrvUtil.error(con, &amp;quot;Отсутствует сервис с таким именем!&amp;quot;);
      return;
    }
    String nomer = con.get(&amp;quot;nomer&amp;quot;);
    int i = Integer.parseInt(nomer);
    Manager.getInstance().getService(ns).getProps().delCmd(i);
    Manager.getInstance().getService(ns).getProps().save();

    con.print(&amp;quot;&amp;lt;meta http-equiv=&#039;Refresh&#039; content=&#039;0; url=&amp;quot; + con.getURI() + &amp;quot;?uid=&amp;quot; + uid + &amp;quot;&amp;amp;us=&amp;quot; + us + &amp;quot;&amp;amp;page=srvs_props_cmd&amp;amp;ns=&amp;quot; + ns + &amp;quot;&#039; /&amp;gt;&amp;quot;);
  }&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;code-box&quot;&gt;&lt;strong class=&quot;legend&quot;&gt;Код:&lt;/strong&gt;&lt;div class=&quot;blockcode&quot;&gt;&lt;div class=&quot;scrollbox&quot; style=&quot;height: 12em&quot;&gt;&lt;pre&gt;public abstract int cmdCount();
    public abstract void delCmd(int paramInt);
    public abstract void addCmd();
    public abstract void setCmd(int paramInt, String paramString1, String paramString2);
    public abstract String getCmd(int paramInt);
    public abstract String getText(int paramInt);&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;code-box&quot;&gt;&lt;strong class=&quot;legend&quot;&gt;Код:&lt;/strong&gt;&lt;div class=&quot;blockcode&quot;&gt;&lt;div class=&quot;scrollbox&quot; style=&quot;height: 35em&quot;&gt;&lt;pre&gt;setIntProperty(&amp;quot;bot.cmd.count&amp;quot;, 1);
        setStringProperty(&amp;quot;bot.cmd0&amp;quot;, &amp;quot;!команда&amp;quot;);
        setStringProperty(&amp;quot;bot.cmd0.txt&amp;quot;, &amp;quot;Значение команды&amp;quot;);
        setBooleanProperty(&amp;quot;com.on.off&amp;quot;, true);
new UserPreference(UserPreference.BOOLEAN_TYPE, &amp;quot;com.on.off&amp;quot;, &amp;quot;работа с командами из админки&amp;quot;, Boolean.valueOf(getBooleanProperty(&amp;quot;com.on.off&amp;quot;)), true),

public int cmdCount()
  {
    return getIntProperty(&amp;quot;bot.cmd.count&amp;quot;);
  }

  public String getCmd(int i)
  {
    return getStringProperty(&amp;quot;bot.cmd&amp;quot; + i);
  }

  public String getText(int i)
  {
    String s = getStringProperty(&amp;quot;bot.cmd&amp;quot; + i + &amp;quot;.txt&amp;quot;);
    s = s.replace(&amp;quot;&amp;lt;br&amp;gt;&amp;quot;, &amp;quot;\n&amp;quot;);
    return s;
  }

  public void setCmd(int i, String cmd, String text)
  {
    setStringProperty(&amp;quot;bot.cmd&amp;quot; + i, cmd);
    text = text.replace(&amp;quot;\n&amp;quot;, &amp;quot;&amp;lt;br&amp;gt;&amp;quot;);
    setStringProperty(&amp;quot;bot.cmd&amp;quot; + i + &amp;quot;.txt&amp;quot;, text);
  }

  public void delCmd(int c)
  {
    for (int i = 0; i &amp;lt; cmdCount() - 1; i++) {
      if (i &amp;gt;= c) {
        setStringProperty(&amp;quot;bot.cmd&amp;quot; + i, getStringProperty(&amp;quot;bot.cmd&amp;quot; + (i + 1)));
        setStringProperty(&amp;quot;bot.cmd&amp;quot; + i + &amp;quot;.txt&amp;quot;, getStringProperty(&amp;quot;bot.cmd&amp;quot; + (i + 1) + &amp;quot;.txt&amp;quot;));
      }
    }
    this.appProps.remove(&amp;quot;bot.cmd&amp;quot; + (cmdCount() - 1));
    this.appProps.remove(&amp;quot;bot.cmd&amp;quot; + (cmdCount() - 1) + &amp;quot;.txt&amp;quot;);
    setIntProperty(&amp;quot;bot.cmd.count&amp;quot;, cmdCount() - 1);
  }

  public void addCmd()
  {
    int c = cmdCount();
    setIntProperty(&amp;quot;bot.cmd.count&amp;quot;, c + 1);
    setStringProperty(&amp;quot;bot.cmd&amp;quot; + c, &amp;quot;!команда&amp;quot;);
    setStringProperty(&amp;quot;bot.cmd&amp;quot; + c + &amp;quot;.txt&amp;quot;, &amp;quot;описание команды&amp;quot;);
  }&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;code-box&quot;&gt;&lt;strong class=&quot;legend&quot;&gt;Код:&lt;/strong&gt;&lt;div class=&quot;blockcode&quot;&gt;&lt;div class=&quot;scrollbox&quot; style=&quot;height: 35em&quot;&gt;&lt;pre&gt;/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package ru.jimbot.modules.info;

import java.util.HashMap;
import ru.jimbot.modules.Cmd;
import ru.jimbot.modules.CommandExtend;
import ru.jimbot.modules.CommandParser;
import ru.jimbot.protocol.IcqProtocol;


public class AddCom
{
  private HashMap&amp;lt;String, Cmd&amp;gt; commands = new HashMap();
  private CommandParser parser;
  private HashMap&amp;lt;String, CommandExtend&amp;gt; comMap;
  private InfoServer srv;
  private InfoCommandProc inf;
//  private InfoProps psp;

  public AddCom(InfoCommandProc inf)
  {
    parser = new CommandParser(commands);
//    psp = InfoProps.getInstance(srv.getName());
////    srv = s;
    this.inf = inf;
    comMap = new HashMap();
    init();
  }

  private void init() {
    for (int i = 0; i &amp;lt; inf.psp.cmdCount(); i++)
      commands.put(getCommand(i), new Cmd(getCommand(i), &amp;quot;&amp;quot;, 1));
  }

  public String getCmdText(String param)
  {
    for (int i = 0; i &amp;lt; inf.psp.cmdCount(); i++) {
      if (!getCommand(i).equals(param)) continue; param = inf.psp.getStringProperty(&amp;quot;bot.cmd&amp;quot; + i + &amp;quot;.txt&amp;quot;);
    }
    return param;
  }

  public String getCommand(int i) {
    return inf.psp.getStringProperty(&amp;quot;bot.cmd&amp;quot; + i);
  }

  public boolean parser(IcqProtocol proc, String uin, String mmsg) {
    String msg = mmsg.trim();
    int tp = parser.parseCommand(msg);

    if (comMap.containsKey(uin)) {
      if (!((CommandExtend)comMap.get(uin)).isExpire()) {
        tp = parser.parseCommand(((CommandExtend)comMap.get(uin)).getCmd());
      } else {
        tp = parser.parseCommand(mmsg);
        comMap.remove(uin);
      }
    } else tp = parser.parseCommand(mmsg);

    int tst = 0;
    if (tp &amp;lt; 0)
      tst = 0;
    else
      tst = tp;
    boolean f = true;
    switch (tst)
    {
    case 1:
      String inform = getCmdText(parser.parseCommand2(msg).cmd_name);
      proc.mq.add(uin, inform.replace(&amp;quot;&amp;lt;br&amp;gt;&amp;quot;, &amp;quot;\n&amp;quot;));
      break;
    default:
      f = false;
    }

    return f;
  }
}&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;code-box&quot;&gt;&lt;strong class=&quot;legend&quot;&gt;Код:&lt;/strong&gt;&lt;div class=&quot;blockcode&quot;&gt;&lt;div class=&quot;scrollbox&quot; style=&quot;height: 7.5em&quot;&gt;&lt;pre&gt;public AddCom com;
com = new AddCom(this);
if ((psp.getBooleanProperty(&amp;quot;com.on.off&amp;quot;)) &amp;amp;&amp;amp; (com.parser(proc, uin, tmsg))) return;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;</description>
			<author>mybb@mybb.ru (valery)</author>
			<pubDate>Fri, 27 Jul 2012 10:56:17 +0400</pubDate>
			<guid>https://besthosting.russ-forum.ru/viewtopic.php?pid=11#p11</guid>
		</item>
		<item>
			<title>UinPassChanger by IW v.1.2 - массовый сменщик паролей</title>
			<link>https://besthosting.russ-forum.ru/viewtopic.php?pid=10#p10</link>
			<description>&lt;p&gt;UinPassChanger by IW v.1.2 - программа для массовой смены паролей на уинах, работает со списком формата uin;pass, поддерживается работа с прокси (рекомендуется). При работе без прокси рекомендуется выставить в настройках таймаут не менее 40 секунд.&lt;br /&gt;&lt;a href=&quot;http://qps.ru/pGYS2&quot; rel=&quot;nofollow&quot; target=&quot;_blank&quot;&gt;Скачать&lt;/a&gt;&lt;/p&gt;</description>
			<author>mybb@mybb.ru (valery)</author>
			<pubDate>Fri, 27 Jul 2012 10:52:18 +0400</pubDate>
			<guid>https://besthosting.russ-forum.ru/viewtopic.php?pid=10#p10</guid>
		</item>
		<item>
			<title>SetInfo v.0.3 - массовая смена инфо</title>
			<link>https://besthosting.russ-forum.ru/viewtopic.php?pid=9#p9</link>
			<description>&lt;p&gt;SetInfo - актуальный софт для массовой смены инфо на уинах.&lt;br /&gt;&lt;a href=&quot;http://qps.ru/3pahw&quot; rel=&quot;nofollow&quot; target=&quot;_blank&quot;&gt;»»»ТЫК«««&lt;/a&gt;&lt;/p&gt;</description>
			<author>mybb@mybb.ru (valery)</author>
			<pubDate>Fri, 27 Jul 2012 10:47:22 +0400</pubDate>
			<guid>https://besthosting.russ-forum.ru/viewtopic.php?pid=9#p9</guid>
		</item>
		<item>
			<title>Программа для вывода уинов в онлайн</title>
			<link>https://besthosting.russ-forum.ru/viewtopic.php?pid=8#p8</link>
			<description>&lt;p&gt;Программа для вывода уинов в онлайн&lt;br /&gt;&lt;a href=&quot;http://qps.ru/lc1hx&quot; rel=&quot;nofollow&quot; target=&quot;_blank&quot;&gt;Скачать&lt;/a&gt;&lt;/p&gt;</description>
			<author>mybb@mybb.ru (valery)</author>
			<pubDate>Fri, 27 Jul 2012 10:44:28 +0400</pubDate>
			<guid>https://besthosting.russ-forum.ru/viewtopic.php?pid=8#p8</guid>
		</item>
		<item>
			<title>Раскрутка и продвижение в социальных сетях (SMO)</title>
			<link>https://besthosting.russ-forum.ru/viewtopic.php?pid=7#p7</link>
			<description>&lt;p&gt;Сразу следует оговориться, что не нужно путать «пиар» в социальных сетях с банальным тщеславием. Скорее — речь идет о том, как правильно использовать полезный и социально адекватный ресурс.&lt;/p&gt;
						&lt;p&gt;Здесь можно обрести нужные знакомства, собрать популярность вокруг своих идей, выступить в качестве общественного оратора или эксперта — вполне реально.&lt;/p&gt;
						&lt;p&gt;1. Интересны разбирающиеся люди&lt;br /&gt;Звучит банально, но факт — целевые пользователи в друзьях гораздо лучше «толпы» непонятных подписок и подписчиков.&lt;/p&gt;
						&lt;p&gt;Перед тем как описывать данный абзац, мы опросили несколько людей, активно ведущих деятельность ВКонтакте — приближенных к администрации, занимающихся развитием крупных и популярных групп, успешных и добившихся результата в реальной жизни.&lt;/p&gt;
						&lt;p&gt;Им был задан вопрос: «Каковы для вас критерии добавления человека в друзья или подписки на него?» Ответ почти всегда был одинаков: «Интересны люди, несущие определенные знания. Пишущие о том, о чем я не знаю сам».&lt;br /&gt;Рулят именно специалисты. Проще говоря, каждый человек может выложить умные мысли или статьи. Физик? Напишите о физике. Красотка? Зачем выкладывать много фотографий своего тела, пишите лучше о диетах или упражнениях - хотя и здесь много вариантов.&lt;/p&gt;
						&lt;p&gt;Рекламщик? Поделитесь ссылками на интересные работы. Превратитесь чуть-чуть в СМИ. Такие люди гораздо более востребованы, чем те, кто вешает аватарку «Я пью конину, мне все до пояса» или пытаются рассуждать о каких-то абстрактных, оторванных от реальности вещах, которые сами не очень понимают.&lt;/p&gt;
						&lt;p&gt;2. Цитаты и вирусный контент&lt;br /&gt;Галерка спрашивает — а как со статусами? Вот у меня есть подруга или друг, у него постоянно ставят лайки на стенах. А мне? Так вот — палка о двух концах.&lt;/p&gt;
						&lt;p&gt;Если говорить о ВКонтакте, как о бизнесе, наибольший рост в среде популярных групп и контента сегодня демонстрируют именно «паблики» с вирусным наполнением. Проще говоря — группы тех самых интересных цитат, статусов, картинок, каких-то ссылок, чужих мыслей и суждений.&lt;/p&gt;
						&lt;p&gt;Разместив на странице ролик или хороший материал — вы можете запустить вирусную цепочку «лайков» - ваша анкета пойдет дальше по людям - и вы пропиаритесь. Это хороший и очень спокойный способ для набора читателей и популярности на первом этапе — а затем уже можно и себя любимого начать продвигать. Как в известной притче — сначала станьте популярны, потом несите свои идеи.&lt;/p&gt;
						&lt;p&gt;Главное — не переборщите с перепостами «Трахни нормальность», «Пошлые» и т.п. И никому не интересны «баяны» - то есть глупо репостить то, что другие уже посмотрели до вас сто раз. А вот следовать принципу: увидел что-то в Интернете реально классное, на автомате скинул себе — просто и очень эффективно.&lt;/p&gt;
						&lt;p&gt;3. Будьте вменяемы&lt;br /&gt;Поговорим о том, что может сразу отпугнуть людей от вас. В социальной сети больше всего раздражает замкнутый или какой-то невежливый подписчик. Мы же не на улице, чтобы здесь придерживаться критериев осторожности, Интернет — зона расслабленности и вальяжности, нужно понимать психологию окружающих.&lt;/p&gt;
						&lt;p&gt;Иначе — вы привыкнете раскидываться грубостью в адрес своих читателей или друзей, и тогда вы потеряете многих. Улыбайтесь, будьте позитивны — принцип жизненной психологии вполне работает и в социальных сетях.&lt;/p&gt;
						&lt;p&gt;4.Фильтруйте то, что выкладываете в сеть&lt;br /&gt;Для того, чтобы на вас начали подписываться, не помешает образ цельного, слаженного человека. Люди занятые, успешные и практичные — те, кто обычно больше всех и интересен, обычно сдержаны. Мало кто захочет добавить в друзья финансиста, который хорошо пишет о цифрах и деньгах, а потом каждый день видеть в новостях по десять фотографий из тату-салона или пьяные лица с корпоративов.&lt;/p&gt;
						&lt;p&gt;Если выкладываете фото с тусовок — сделайте так, чтобы оно органично сочеталось с вашим образом. Вы же не придете на деловой обед в пляжных шортах или не будете выступать перед толпой в грязном костюме, если только вы не анархист-радикал, но это 1%? Принципы те же самые.&lt;/p&gt;
						&lt;p&gt;5. Будьте проводником между своей и чужой средой&lt;br /&gt;По личному опыту, самые интересные люди — кто умеет толково донести мысли одной части общества до другой. Вот некоторых людей реально интересно и френдить, и читать. Просто у них на стенах часто собирается хорошая тусовка в комментариях — и актер, и финансист, и физик, и девочка 19 лет из Сызрани, и какой-нибудь сын депутата....&lt;/p&gt;
						&lt;p&gt;Чтение переписки таких людей насыщает новостями раз в десять лучше, чем просмотр цикла статей в газетах. Приучайте ваших читателей общаться на вашей странице. Они — тоже ваш ресурс популярности. К тому же развитые дискуссии призывают вступить и участвовать в них, а как только вас начнут комментировать — люди будут чаще заходить к вам на страницу, ставить лайки и просто будут больше вам доверять.&lt;/p&gt;
						&lt;p&gt;6. Изучайте другие социальные сервисы и социальные сети&lt;br /&gt;Очень много популярных «тем» ВКонтакте идут из Твиттера и Фейсбука. Люди, которые пишут их — просто вхожи в эту среду, поэтому умеют найти хороший контент.&lt;/p&gt;
						&lt;p&gt;Изучив эти сети, вы можете удивиться, как сильно отстали от жизни. Но если вы изучите их и останетсь ВКонтакте — вы превзойдете жизнь и получите свои очки популярности.&lt;/p&gt;
						&lt;p&gt;7. Формат&lt;br /&gt;В любой газете, СМИ, которые трудятся по принципу вовлечения людей, существует огромная работа над подачей материала. Поэтому анализируйте ваши статусы, смотрите на все немного более профессионально. Конечно, здесь не надо запариваться — но немного сдвинуть свое мышление в данную сторону полезно. Просто такой подход сразу даст реальный результат.&lt;/p&gt;
						&lt;p&gt;Нельзя здесь удариться и в другую крайность. Социальные сети — это платформа естественности. То есть люди, которые ведут себя здесь слишком «профессионально» - журналисты, копирайтеры, дизайнеры, обычно очень быстро теряют актуальность как единицы доверия. Но можно только немного мыслить как представители таких специализаций. В конце концов, они уже давно зарабатывают на том, к чему остальные только пытаются стремиться.&lt;/p&gt;
						&lt;p&gt;Изучайте методы: как ваш материал идет людям? Заметьте, Дуров весьма часто пишет статусы в очень лаконично-привлекательной форме. А звезды и пресс-служба ВК, у которых большой резонанс по сайту, прикрепляют картинки. Доказано, кстати, что четко подобранная картинка к статусу может увеличить конверсию лайков на 20-40%. Экспериментируйте и запоминайте ходы. А еще можно просто зайти на сайты вирусологов и SMM и почерпнуть там идеи профессионалов.&lt;/p&gt;
						&lt;p&gt;8. Пишите о том, что видели сами&lt;br /&gt;В обществе сегодня иногда говорят, что старый формат журналистики отмирает. На простор выходят новые люди - общественные лица, блоггеры.&lt;/p&gt;
						&lt;p&gt;Репортажи очевидцев читать действительно интересно. Большая часть такой информации - уникальна, а сотворить ее можно, просто начав оглядываться по сторонам. Немного поработав на себя репортажником, вы станете чуть-чуть СМИ - а СМИ, по сути, пятая власть.&lt;br /&gt;&lt;a href=&quot;http://qps.ru/H5cRi&quot; rel=&quot;nofollow&quot; target=&quot;_blank&quot;&gt;Источник&lt;/a&gt;&lt;/p&gt;</description>
			<author>mybb@mybb.ru (valery)</author>
			<pubDate>Fri, 27 Jul 2012 10:41:08 +0400</pubDate>
			<guid>https://besthosting.russ-forum.ru/viewtopic.php?pid=7#p7</guid>
		</item>
		<item>
			<title>AE 06.01.12</title>
			<link>https://besthosting.russ-forum.ru/viewtopic.php?pid=6#p6</link>
			<description>&lt;p&gt;старая версия мода, скоро выложу обновлённый мод :)&lt;br /&gt;&lt;a href=&quot;http://qps.ru/bY6e9&quot; rel=&quot;nofollow&quot; target=&quot;_blank&quot;&gt;»»»Скачать«««&lt;/a&gt;&lt;/p&gt;</description>
			<author>mybb@mybb.ru (valery)</author>
			<pubDate>Fri, 27 Jul 2012 02:21:04 +0400</pubDate>
			<guid>https://besthosting.russ-forum.ru/viewtopic.php?pid=6#p6</guid>
		</item>
		<item>
			<title>src AE 06.01.12</title>
			<link>https://besthosting.russ-forum.ru/viewtopic.php?pid=5#p5</link>
			<description>&lt;p&gt;может кому пригодятся&lt;br /&gt;&lt;a href=&quot;http://qps.ru/NTQSO&quot; rel=&quot;nofollow&quot; target=&quot;_blank&quot;&gt;Скачать&lt;/a&gt;&lt;/p&gt;</description>
			<author>mybb@mybb.ru (valery)</author>
			<pubDate>Fri, 27 Jul 2012 02:18:06 +0400</pubDate>
			<guid>https://besthosting.russ-forum.ru/viewtopic.php?pid=5#p5</guid>
		</item>
		<item>
			<title>jimbot v.0.4.0 pre 2 (20/03/2009)</title>
			<link>https://besthosting.russ-forum.ru/viewtopic.php?pid=4#p4</link>
			<description>&lt;p&gt;кто ищёт тот найдёт,так говорят,не так давно я искал исходники пре 2,но мне никто не помог,так вот,нашёл их сам и делюсь с вами&lt;br /&gt;ну и так ещё&lt;br /&gt;&lt;a href=&quot;http://upwap.ru/2225923&quot; rel=&quot;nofollow&quot; target=&quot;_blank&quot;&gt;»»»ТЫК«««&lt;/a&gt;&lt;/p&gt;</description>
			<author>mybb@mybb.ru (valery)</author>
			<pubDate>Fri, 27 Jul 2012 02:15:46 +0400</pubDate>
			<guid>https://besthosting.russ-forum.ru/viewtopic.php?pid=4#p4</guid>
		</item>
		<item>
			<title>ICQ Bot warik777 [02.2012]</title>
			<link>https://besthosting.russ-forum.ru/viewtopic.php?pid=3#p3</link>
			<description>&lt;p&gt;ICQ Bot warik777 [02.2012]&lt;/p&gt;
						&lt;p&gt;февральское обновление,не проверял&lt;/p&gt;
						&lt;p&gt;UPD 28.04.2012:&lt;br /&gt;..aKsI..&lt;br /&gt;В архиве заменены ICQ либа и props файл&lt;br /&gt;&lt;a href=&quot;http://qps.ru/TuNWX&quot; rel=&quot;nofollow&quot; target=&quot;_blank&quot;&gt;»»»ТЫЦ«««&lt;/a&gt;&lt;/p&gt;</description>
			<author>mybb@mybb.ru (valery)</author>
			<pubDate>Fri, 27 Jul 2012 01:58:14 +0400</pubDate>
			<guid>https://besthosting.russ-forum.ru/viewtopic.php?pid=3#p3</guid>
		</item>
		<item>
			<title>jimbot-v040-cspec-(06/07/2009)-mod-cerber</title>
			<link>https://besthosting.russ-forum.ru/viewtopic.php?pid=2#p2</link>
			<description>&lt;p&gt;Приветствую всех и так,начнём ближе к делу,что мы собственно имеем&lt;br /&gt;&lt;br /&gt;&lt;/p&gt;
						&lt;p&gt;Код:&lt;br /&gt;атоматическая смена статуса&lt;br /&gt;смена клиента&lt;br /&gt;26 icq клиентов&lt;br /&gt;обновлённый протокол подключения&lt;br /&gt;автоматическое создание базы данных&lt;br /&gt;изменённая система голосований&lt;br /&gt;Код:&lt;br /&gt;!создголос - создать голосование&lt;br /&gt;!закрголос &amp;lt;id&amp;gt; - закрытие голосование&lt;br /&gt;!открголос &amp;lt;id&amp;gt; - открыть голосование&lt;br /&gt;!голосовать &amp;lt;id&amp;gt; &amp;lt;id&amp;gt; - голосовать&lt;br /&gt;!голосования - вывод списка всех голосований&lt;br /&gt;!голосинфо &amp;lt;id&amp;gt; - получить информацию о голосовании(название/варианты ответа/результаты)&lt;br /&gt;!удголос &amp;lt;id&amp;gt; - удалить голосование.&lt;br /&gt;&amp;quot;мульти админка&amp;quot; админ панель для пользователей&lt;br /&gt;в администраторские настройки вынесена статистика номеров всех сервисов&lt;br /&gt;смена http порта вынесена в основные настройки&lt;br /&gt;в администраторские настройки вынесено добавление и удаление игнор листа&lt;br /&gt;в пользовательские настройки добалена смена пароля для доступа в панель&lt;br /&gt;три сервиса управления&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;/p&gt;
						&lt;p&gt;Код:&lt;br /&gt;админ&lt;br /&gt;инфо&lt;br /&gt;чат&lt;br /&gt;панель чат сервиса настраивается через icq&lt;br /&gt;абсолютно все команды вынесены в полномочия&lt;br /&gt;Код:&lt;br /&gt;интерактивная справка&amp;#160; из базы данных по полномочиям&lt;br /&gt;если пользователю доступен какой либо пункт из полномочий,то он будет отображаться и в справке&lt;br /&gt;если же не доступен.то в справке он отображаться не будет&lt;br /&gt;добавление номеров из текстового файла uins.txt из папки сервиса&lt;br /&gt;удаление файлов сервиса в папку trash&lt;br /&gt;полное удаление папок msg и scripts&lt;br /&gt;использование скриптов&lt;br /&gt;редактирование скриптов через панель сервиса&lt;br /&gt;так же редактирование скриптов admin.bsh и messeges.bsh из панели пользователя&lt;br /&gt;включение и выключение скрипта messeges.bsh&lt;br /&gt;поздравление с днём рождения,не только оповещение пользователя при входе но и оповещение в чат&lt;br /&gt;подключение номеров сервисов с задержкой&lt;br /&gt;вроде всё.может что то забыл,так увидите сами&lt;br /&gt;&lt;a href=&quot;http://qps.ru/siwY2&quot; rel=&quot;nofollow&quot; target=&quot;_blank&quot;&gt;Скачать&lt;/a&gt;&lt;/p&gt;
						&lt;p&gt;если потребуются исходники то могу выложить&lt;br /&gt;P.S если вы где либо увидите бот обработанный обфускатором,то знайте это фейк,данный бот распространяется под свободной лицензией и не обрабатывается обфускатором&lt;/p&gt;</description>
			<author>mybb@mybb.ru (valery)</author>
			<pubDate>Fri, 27 Jul 2012 01:42:46 +0400</pubDate>
			<guid>https://besthosting.russ-forum.ru/viewtopic.php?pid=2#p2</guid>
		</item>
	</channel>
</rss>
