Перейти к содержимому


Готовые скрипты


Сообщений в теме: 70

#41 Griny

    Пользователь

  • Пользователи
  • PipPip
  • 78 сообщений

Отправлено 07 Июль 2009 - 23:26

Название: Погода 2
Смысл работы: Импорт погоды с сайта RP5.ru через RSS ленту [ШАБЛОН]. В отличии от первой версии, реализует вывод погоды не для одного отдельного города, а для целого списка городов (В самом скрипте 3 города, но вы можете легко добавить свои)
Установка: Файл goroda.txt кидать в папку "./text". Файл Pogoda_Final.bsh кидать в папку "/scripts/command"
В чате:
!погода
Выводит идентификаторы городов из файла.
Та же команда с идентификатором выводит погоду для выбранного города. Например, "!погода 1".
Дополнительно: В комментариях всё описал, нужно просто чуть-чуть почитать.
Автор: Griny + огромная благодарность людям Sushka, aliga, p0is0n, Xteam, fraer72 и Spec

Скачать/Download
Исправил ссылку!
Добавил города + поправил комментарии в файле.

Пример работы:

GRA1N (22:32:51 7/07/2009)
!погода

Russian ICQ Чат (22:33:03 7/07/2009)
Список городов с цифровыми обозначениями:

Russian ICQ Чат (22:33:03 7/07/2009)
Для вывода погоды введите !погода id_города

[Идентификаторы]
1 - Москва
2 - Санкт-Петербург
3 - Владимир

GRA1N (22:33:08 7/07/2009)
!погода 1

Russian ICQ Чат (22:33:10 7/07/2009)
Погода в Москве:

Ср, 8 июля, Ночь+12°C, без осадков, ветер южный, 2 м/с, пасмурная погода ( облачность 100% ), давление 749 мм, влажность 82%
Ср, 8 июля, День+20°C, преимущественно без осадко( 0.1 мм / 6 час), ветер южный, 3 м/с, значительная облачность ( 86% ), давление 749 мм, влажность 66%
Чт, 9 июля, Ночь+17°C, осадки ( 1 мм / 6 час), ветер юго-восточный, 4 м/с, пасмурная погода ( облачность 100% ), давление 747 мм, влажность 83%
Чт, 9 июля, День+21°C, осадки ( 3 мм / 6 час), ветер юго-восточный, 3 м/с, пасмурная погода ( облачность 100% ), давление 745 мм, влажность 76%

GRA1N (22:33:14 7/07/2009)
!погода 2

Russian ICQ Чат (22:33:16 7/07/2009)
Погода в Санкт-Петербурге:

Ср, 8 июля, Ночь+14°C, осадки ( 3 мм / 6 час), ветер южный, 5 м/с, пасмурная погода ( облачность 100% ), давление 755 мм, влажность 93%
Ср, 8 июля, День+21°C, осадки ( 3 мм / 6 час), ветер южный, 5 м/с, значительная облачность ( 82% ), давление 755 мм, влажность 64%
Чт, 9 июля, Ночь+18°C, без осадков, ветер восточный, 5 м/с, облачно с прояснениями ( облачность 55% ), давление 754 мм, влажность 84%
Чт, 9 июля, День+18°C, осадки ( 5 мм / 6 час), ветер юго-восточный, 6 м/с, пасмурная погода ( облачность 100% ), давление 753 мм, влажность 93%

GRA1N (22:33:19 7/07/2009)
!погода 3

Russian ICQ Чат (22:33:21 7/07/2009)
Погода во Владимире:

Ср, 8 июля, Ночь+7°C, без осадков, ветер южный, 3 м/с, облачно с прояснениями ( облачность 55% ), давление 746 мм, влажность 89%
Ср, 8 июля, День+19°C, без осадков, ветер южный, 3 м/с, облачно с прояснениями ( облачность 53% ), давление 747 мм, влажность 69%
Чт, 9 июля, Ночь+14°C, без осадков, ветер юго-восточный, 5 м/с, пасмурная погода ( облачность 100% ), давление 745 мм, влажность 72%
Чт, 9 июля, День+17°C, осадки ( 0.5 мм / 6 час), ветер юго-восточный, 6 м/с, пасмурная погода ( облачность 100% ), давление 744 мм, влажность 94%


Обсуждаем тут

#42 Griny

    Пользователь

  • Пользователи
  • PipPip
  • 78 сообщений

Отправлено 08 Июль 2009 - 00:42

Название: Вырубатель
Смысл работы: Отключение чата путем ввода одной команды. Полезно, когда нет под рукой ftp клиента, а вырубить чат очень надо. Соответственно, процесс Явы на сервере тоже удаляется.
Установка: создать файл с расширением *bsh и закинуть в папку "/scripts/command"
В чате:
!стоп
Дополнительно: Иногда чату нужно время до минуты, чтобы отключиться. Обычно же он отключается через 5-10 секунд.
У кого не работает - претензии к ктулху.
Автор: Griny

/**
*  Простенькая остановка чата
*/

import ru.jimbot.modules.AbstractServer;
import ru.jimbot.util.*;
import ru.jimbot.modules.chat.*;
import ru.jimbot.modules.*;

//Установка скрипта как обработчика команды
if(in.equals("install")){
  cmd.addCommand("!стоп", new Cmd("!стоп","",39,name));
  cmd.addAuth("stopchat","Остановка чата");
  out="Ok";
  return;
}

// Проверим полномочия
if(!cmd.isChat(proc,uin) && !cmd.psp.testAdmin(uin)) return;
if(!cmd.auth(proc,uin, "stopchat")) return;

try {
  int msglim = 1;
  int glow = 1;
  File state = new File ("./state");
  state.createNewFile();  
  String stmp = cmd.psp.loadText("./state"); 
  for (int i=0; i= msglim){
    OutputStreamWriter ow = new OutputStreamWriter(new FileOutputStream("./state.bak",true),"windows-1251");
    ow.write(stmp.substring(0, stmp.indexOf('\n'))+"\n");
    ow.close();
    stmp = stmp.substring(stmp.indexOf('\n')+1);
  }
  Users uss = cmd.srv.us.getUser(uin);
  stmp += "Stop";
  OutputStreamWriter ow = new OutputStreamWriter(new FileOutputStream("./state",false),"windows-1251");
  ow.write(stmp);
  ow.close();
  Log.talk("Команда остановки чата прислана от " + uss.localnick + "\n");
  proc.mq.add(uin,"Пожалуйста, подождите...");
} catch (Exception ex) {
    ex.printStackTrace();
    Log.talk("Error save msg: " + ex.getMessage());
    proc.mq.add(uin,"Ошибка "+ ex.getMessage());
}


#43 masterzx

    Профи

  • Специалисты
  • PipPipPipPipPip
  • 738 сообщений
  • ГородБарнаул

Отправлено 08 Июль 2009 - 05:39

Название: Случайный Анекдот.
Смысл работы: Вывод случайного анекдота с anekdotov.net
Установка: создать файл с расширением *bsh и закинуть в папку "/scripts/command"
В чате:
!анекдот
!ха
Автор: Masterzx
/**
* Скрипт для вывода случайного анекдота с anekdotov.net
* Masterzx
*/

import ru.jimbot.modules.AbstractServer;
import ru.jimbot.util.*;
import ru.jimbot.modules.chat.*;
import ru.jimbot.modules.*;
import java.util.Random;

//Установка скрипта как обработчика команды
if(in.equals("install")){
   cmd.addCommand("!анекдот", new Cmd("!анекдот","$s",39,name));
   cmd.addCommand("!ха", new Cmd("!ха","$s",39,name));
   cmd.addAuth("Anek","Сервис анекдотов");
   out="Ok";
   return;
}

// Проверим полномочия
if(!cmd.isChat(proc,uin) && !cmd.psp.testAdmin(uin)) return;
if(!cmd.auth(proc,uin, "Anek")) return;

try {
int R = (int) ((Math.random()*100));
String s =  MainProps.getStringFromHTTP("http://anekdotov.net/anekdot/random/" + R + ".html?"); 
String[] ss = s.split("</td>");
ss = ss[3].split("'>");
ss = ss[1].split("<INPUT type");
ss[0] = ss[0].replace("<BR>",""); 
ss[0] = ss[0].replace("
",""); 
proc.mq.add(uin,ss [0]); 
} catch (Exception ex) {
   ex.printStackTrace();
   Log.talk("Error save msg: " + ex.getMessage());
   proc.mq.add(uin,"Обшибка " + ex.getMessage());
}


#44 fraer72

    Профи

  • Специалисты
  • PipPipPipPipPip
  • 1 429 сообщений

Отправлено 13 Июль 2009 - 15:24

Название:Добавление фраз в bytilochka.txt .
Смысл работы: Скрипт для добовление фраз в игру "бытылочка" на лету.
Установка: создать файл с расширением *bsh и закинуть в папку "/scripts/command"
В чате: !cбут <фраза>
Автор: Fraer72

Прикрепленные файлы

  • Прикрепленный файл  сбутыл.rar   1000байт   324 Количество загрузок:


#45 masterzx

    Профи

  • Специалисты
  • PipPipPipPipPip
  • 738 сообщений
  • ГородБарнаул

Отправлено 20 Июль 2009 - 15:51

Название:Модификация команд списка юзеров в чате
Смысл работы: Четыре скрипта:
  • Модификация команды +а
  • Модификация команды +aa
  • Команда !Модеры вывод всей админестрации находящийся в данный момент в чате[*:136ngxy3]Команда !Админы Вывод всей администрации чата
Установка: закинуть в папку "/scripts/command"
В чате: !админы; !admin
разрешение в админке: AdmList - Получить список админов
В чате: !модеры; !moderlist; !moder
разрешение в админке: ModList - Получить список модеров"
В чате: +a; +ф; +f; +а; +тут
разрешение в админке: room
В чате: +aa; +фф; +ff; +аа; +все
разрешение в админке: room
Автор:Masterzx

P.S.Основное отличие от остальных подобных скриптов:
switch (g){  
case "user": s += " " + us.id + " - " + us.localnick + "(user)[" + us.room + "]n"; break; 
.....
case "admin": s += " " + us.id + " - " + us.localnick + "(админ)[" + us.room + "]n"; break;
}
Изменил скрипт админы... в архиве старый
/**
* Список админов
* ©masterzx
*/
import ru.jimbot.modules.AbstractServer;
import ru.jimbot.util.*;
import ru.jimbot.modules.chat.*;
import ru.jimbot.modules.*;
import ru.jimbot.Manager;
import java.sql.*;

if(in.equals("install")){
cmd.addCommand("!админы", new Cmd("!админы","",39,name));
cmd.addCommand("!admin", new Cmd("!admin","",39,name));
cmd.addAuth("AdmList","Получить список админов");
out="Ok";
return;
}

if(!cmd.isChat(proc,uin) && !cmd.psp.testAdmin(uin)) return;
if(!cmd.auth(proc,uin, "AdmList")) return;

try{
String ss="";
int i=0;
PreparedStatement pst = cmd.srv.us.db.getDb().prepareStatement("SELECT user_id, val FROM `user_props` WHERE `val` IN('poweruser', 'moder','gmoder','admin') ORDER BY user_id") ;
ResultSet rs = pst.executeQuery();
while(rs.next()) {
i=rs.getInt(1); 
Users us = cmd.srv.us.getUser(i);
String g = rs.getString(2);
switch (g){ 
case "poweruser": ss += " " + i + " - " + us.localnick + "(килменn"; break;
case "moder": ss += " " + i + " - " + us.localnick + "(мод.)n"; break;
case "gmoder": ss += " " + i + " - " + us.localnick + "(гл. мод.)n"; break;
case "admin": ss += " " + i + " - " + us.localnick + "(админ)n"; break;
}
}
rs.close();
pst.close();
proc.mq.add(uin,"Администрация чата:nID - Ник(Группа)n"+ss);
} catch (Exception ex) {
ex.printStackTrace();
proc.mq.add(uin,"Ошибка "+ex.getMessage());
}

Прикрепленные файлы



#46 DJ_pavel

    Профи

  • Пользователи
  • PipPipPipPipPip
  • 1 255 сообщений

Отправлено 20 Июль 2009 - 16:09

название: вывод последних сообщеий
смысл работы: вывод последнии 20 сообщений чата
установка: закинуть скрипт в папку scripts/command
команда: !сообщения
автор: allexashka и fraer72

/**
*  Скрипт вывода 20 последних сообщений.
*/

import ru.jimbot.modules.AbstractServer;
import ru.jimbot.util.*;
import ru.jimbot.modules.chat.*;
import ru.jimbot.modules.*;
import ru.jimbot.Manager;
import java.sql.*;

//Установка скрипта как обработчика команды
if(in.equals("install")){
   cmd.addCommand("!сообщения", new Cmd("!сообщения","",39,name));
   cmd.addAuth("messege","20 последний сообщений");
   out="Ok";
   return;
}

try{
   String host = ChatProps.getInstance(cmd.srv.getName()).getStringProperty("db.host");
    String namedb = ChatProps.getInstance(cmd.srv.getName()).getStringProperty("db.dbname");
    String user = ChatProps.getInstance(cmd.srv.getName()).getStringProperty("db.user");
    String pass = ChatProps.getInstance(cmd.srv.getName()).getStringProperty("db.pass");
      DBChat db;
   db = new DBChat(cmd.srv.getName());
    db.openConnection(host, namedb, user, pass);
  String s = "20 последних сообщений:\n";
  s+="[Время] сообщение:\n";
        try {
            PreparedStatement pst = db.getDb().prepareStatement("SELECT time, msg FROM log ORDER BY time DESC");
         ResultSet rs = pst.executeQuery();
            for(int i=0;i<20;i++){
                if(rs.next()){
                    s += "["+rs.getTimestamp(1)+"] "+ rs.getString(2)+'\n';
                }
            }
         rs.close();
         pst.close();
      } catch (Exception ex) {
            ex.printStackTrace();
        }
       proc.mq.add(uin,s);
}   catch (Exception ex) {
    ex.printStackTrace();
    proc.mq.add(uin,"Ошибка "+ex.getMessage());
}


#47 masterzx

    Профи

  • Специалисты
  • PipPipPipPipPip
  • 738 сообщений
  • ГородБарнаул

Отправлено 21 Июль 2009 - 03:11

название: вывод последних сообщений
смысл работы: вывод последних сообщений чата
установка: создать файл с расширением *bsh и закинуть в папку "/scripts/command"
команда в чате: !сообщения
разрешение в админке: dbmsg Вывод последних сообщений, команда !сообщения
автор: allexashka и fraer72 и masterzx
/**
*  Скрипт вывода последних сообщений.
* masterzx
*/

import ru.jimbot.modules.AbstractServer;
import ru.jimbot.util.*;
import ru.jimbot.modules.chat.*;
import ru.jimbot.modules.*;
import ru.jimbot.Manager;
import java.sql.*;

//Установка скрипта как обработчика команды
if(in.equals("install")){
	cmd.addCommand("!сообщения", new Cmd("!сообщения","",39,name));
	cmd.addAuth("dbmsg","Вывод последних сообщений, команда !сообщения");
	out="Ok";
	return;
}


if(!cmd.isChat(proc,uin) && !cmd.psp.testAdmin(uin)) return;
if(!cmd.auth(proc,uin, "dbmsg")) return;
try{
	String s = "последние сообщения в чате:n[комната][id] сообщение:n";
	String[] ss=new String[100];
	PreparedStatement pst = cmd.srv.us.db.getDb().prepareStatement("SELECT user_id, time, msg, room, type FROM log  ORDER BY time DESC LIMIT 0, 100") ;
	int i1 = 0;
	ResultSet rs = pst.executeQuery();
	while(rs.next()){
		ss[i1] = "[" + rs.getString(4) + "] [" + rs.getString(1) + "] " +  rs.getString(3) + 'n';
		i1++;
	}
	rs.close();
	pst.close();
	i1--;
//Перестраеваем порядок фраз;
	while(i1 > -1){
		s += (!(ss[i1].indexOf("[0] [0]") >= 0)) ? (String) ss[i1]:"";
		i1--;
	}
// Режим сообщение на кучу маленьких; по 500 символов в каждом
	char[] c = s.toCharArray();
	s = "";
	for (int i = 0; i < c.length; i++){
		if(i == 500 || i == 1000 || i == 1500 || i == 2000 || i == 2500 || i == 3000 || i == 3500 || i == 4000 || i == 4500 || i == 5000 || i == 5500 || i == 6000 ){
			proc.mq.add(uin, s+c[i]);
			s = "";
		}else s += c[i];
	}
	proc.mq.add(uin, s);
     
}   catch (Exception ex) {
    ex.printStackTrace();
    proc.mq.add(uin,"Ошибка "+ex.getMessage());
}


#48 arhangel_ess

    Пользователь

  • Пользователи
  • PipPip
  • 59 сообщений

Отправлено 29 Июль 2009 - 16:39

название: смена текста X-статуса
установка: создать файл с расширением *bsh и закинуть в папку "/scripts/command"
команда в чате: !tx
автор: arhangel_ess cпc Sushka
/**скрипт для смены текста x-статусa
* АВтов: аrhangel_ess  спс Sushka
* работает по принципу !tx 
*
* 
*p.s.ПРи Использование Скрипта В исходниках, Пишим аВторство
*Не НАписание КараетСя Бейсбольной Битой По ГОЛОве =)
*/

import ru.jimbot.modules.AbstractServer;
import ru.jimbot.util.*;
import ru.jimbot.modules.chat.*;
import ru.jimbot.modules.*;
import ru.jimbot.Manager;

//Установка скрипта как обработчика команды
if(in.equals("install")){
cmd.addCommand("!tx", new Cmd("!tx","$s",39,name)) ;
cmd.addAuth("sxtatus","Смена xстатуса");
out="Ok";
return;
}

// Проверим полномочия
if(!cmd.isChat(proc,uin) && !cmd.psp.testAdmin(uin)) return;
if(!cmd.auth(proc,uin, "textxstatus")) return;

Vector v = cmd.getParser().parseArgs(msg);
	String i2 = (String)v.get(0);
proc.mq.add(uin,"text xСтатусa чата изменён");
ChatProps.getInstance(cmd.srv.getName()).setStringProperty("icq.STATUS_MESSAGE2", i2);
Manager.getInstance().getService(cmd.srv.getName()).getProps().save();
после смены делаем рестарт

#49 arhangel_ess

    Пользователь

  • Пользователи
  • PipPip
  • 59 сообщений

Отправлено 29 Июль 2009 - 16:56

название: смена yjvthf X-статуса
установка: создать файл с расширением *bsh и закинуть в папку "/scripts/command"
команда в чате: !x
автор: arhangel_ess cпc Sushka
/**скрипт для смены текста x-статусa
* АВтов: аrhangel_ess  спс Sushka
* работает по принципу !x <Номер стасуса от 1 до 34>
*
* 
*p.s.ПРи Использование Скрипта В исходниках, Пишим аВторство
*Не НАписание КараетСя Бейсбольной Битой По ГОЛОве =)
*/

import ru.jimbot.modules.AbstractServer;
import ru.jimbot.util.*;
import ru.jimbot.modules.chat.*;
import ru.jimbot.modules.*;
import ru.jimbot.Manager;

//Установка скрипта как обработчика команды
if(in.equals("install")){
cmd.addCommand("!x", new Cmd("!x","$n",39,name));
cmd.addAuth("status","Смена статуса");
out="Ok";
return;
}

// Проверим полномочия
if(!cmd.isChat(proc,uin) && !cmd.psp.testAdmin(uin)) return;
if(!cmd.auth(proc,uin, "status")) return;

Vector v = cmd.getParser().parseArgs(msg);
int i = (Integer)v.get(0);

 
if(i>34 || i<0) return; 
proc.mq.add(uin,"Статус чата изменён");

ChatProps.getInstance(cmd.srv.getName()).setIntProperty("icq.xstatus", i);
Manager.getInstance().getService(cmd.srv.getName()).getProps().save();
ps скрипт писал 3 месяца назад решил выложить сейчас на развитие проэкта любые совпадения случайны !

#50 Creator

    Новичок

  • Пользователи
  • Pip
  • 45 сообщений
  • ГородАрмавир

Отправлено 02 Август 2009 - 22:44

Ну так как я влез в вашу ЧатоБотаМанию, внесу свою маленькую лепту - небольшой скриптик проверки интуиции :D если у вас мания преследования "призраком" админа.

/**
* Скрипт проверки призраков
*/

/**
* При вызове скрипта определены следующие переменные:
* ChatCommandProc cmd - ссылка на обработчик команд
* IcqProtocol proc - ссылка на процесс обработки icq
* String msg - текст сообщения с командой
* String uin - кто отправил сообщение
* String name - имя этого файла (при процедуре инсталяции скрипта)
*/

import ru.jimbot.modules.AbstractServer;
import ru.jimbot.util.*;
import ru.jimbot.modules.chat.*;
import ru.jimbot.modules.*;

//Установка скрипта как обработчика команды
if(in.equals("install")){
   cmd.addCommand("!ау", new Cmd("!ау","$n",39,name));
   cmd.addAuth("proverka","команда проверки присутствия АУ");
   out="Ok";
   return;
}
if(!cmd.isChat(proc,uin)) return;
if(!cmd.auth(proc,uin, "proverka")) return;
try{
   Vector v = cmd.getParser().parseArgs(msg);
   int no = (Integer)v.get(0);
   Users uss = cmd.srv.us.getUser(no);
            if(uss == null){
                proc.mq.add(uin,"Такого пользователя не существует в нашем чате!");
                return;                        
            }
            if(!cmd.srv.cq.testUser(uss.sn)){
                proc.mq.add(uin,"Пользователя " + uss.localnick + "[" + uss.id + "]" + ",  действительно нет в чате...");
                return;
            }
    Log.talk("CHAT: " + ">> Пользователь " + cmd.srv.us.getUser(uin).localnick + "[" + cmd.srv.us.getUser(uin).id + "]"+ " проверял присутствие пользователя "+ uss.localnick + "[" + uss.id + "]" );
    cmd.srv.us.db.log(uss.id,uin,"OUT",">> Пользователь " + cmd.srv.us.getUser(uin).localnick + "[" + cmd.srv.us.getUser(uin).id + "]"+ " проверял присутствие пользователя "+ uss.localnick + "[" + uss.id + "]",uss.room);
    proc.mq.add(uin,"Пользователь " + uss.localnick + "[" + uss.id + "]" + " сейчас где-то в чате;) можете написать ему личное сообщение.");
} catch (Exception ex) {
    ex.printStackTrace();
    proc.mq.add(uin,"Ошибка "+ex.getMessage());
}


#51 wortep

    Улыбайся :)

  • Специалисты
  • PipPipPipPipPip
  • 1 090 сообщений

Отправлено 05 Август 2009 - 12:57

Название: Удаление комнат!
Установка: создать файл с расширением *bsh и закинуть в папку "/scripts/command"
Команда в чате: !удкомн
Автор: jImBot

import ru.jimbot.modules.AbstractServer;
import ru.jimbot.util.*;
import ru.jimbot.modules.chat.*;
import ru.jimbot.modules.*;
import ru.jimbot.Manager;
import java.sql.*;

//Установка скрипта как обработчика команды
if(in.equals("install")){
   cmd.addCommand("!удкомн", new Cmd("!удкомн","$n",39,name));
   cmd.addAuth("uroom","Удаление комнат");
   out="Ok";
   return;
}

// Проверим полномочия
if(!cmd.isChat(proc,uin) && !cmd.psp.testAdmin(uin)) return;
if(!cmd.auth(proc,uin, "uroom")) return;

try{
//парсим
   Vector v = cmd.getParser().parseArgs(msg);
   int i = (Integer)v.get(0);
//соединяемся с базой
   String host = ChatProps.getInstance(cmd.srv.getName()).getStringProperty("db.host");
   String namedb = ChatProps.getInstance(cmd.srv.getName()).getStringProperty("db.dbname");
   String user = ChatProps.getInstance(cmd.srv.getName()).getStringProperty("db.user");
   String pass = ChatProps.getInstance(cmd.srv.getName()).getStringProperty("db.pass");
   DBChat db;
   db = new DBChat(cmd.srv.getName());
   db.openConnection(host, namedb, user, pass);
//задаем sql запрос
   String q = "DELETE FROM rooms WHERE id="+i+" LIMIT 1";
//удаляем комнату
   PreparedStatement pst = db.getDb().prepareStatement(q);
   pst.execute();
   pst.close();
//Оповещаем
   proc.mq.add(uin,"Удалена комната номер " + i);
   }   catch (Exception ex) {
       ex.printStackTrace();
       proc.mq.add(uin,"Большая ошибка "+ex.getMessage());
}/*Manager.restart();*/  //раскоментируйте если хотите перезагружать чат автоматом


#52 AssassinS

    Специалист

  • Пользователи
  • PipPipPipPip
  • 272 сообщений

Отправлено 06 Август 2009 - 08:45

Название: Отображение списка всех пользователей+статус+комната+вывод текстового файла внизу списка
Установка: Создать файл с расширением *bsh и закинуть в папку "/scripts/command",закинуть файл ads.txt в "/text/"
Смысл: Замена стандартного списка +все или +аа
Авторы: Сделан на основе скрипта HubMasster. Автор AssassinS,огромная благодарность fraer72

/**
* X-статусы: просмотр списка пользователей во всём чате + x-статус + реклама из файла 
* (c) Indigo_85 - основа, AssassinS- модификация, fraer72-помощь
*/

import ru.jimbot.modules.AbstractServer;
import ru.jimbot.util.*;
import ru.jimbot.modules.chat.*;
import ru.jimbot.modules.*; 

//Установка скрипта как обработчика команды
if(in.equals("install")){
   cmd.addCommand("+все", new Cmd("+все","",39,name));
   cmd.addCommand("+аа", new Cmd("+аа","",39,name));   
   out="Ok";
   return;
}

// Проверим полномочия
if(!cmd.isChat(proc,uin) && !cmd.psp.testAdmin(uin)) return;

try{
    int room = cmd.srv.us.getUser(uin).room;
    String s = "Список пользователей в чате:\n\n[ID] - Ник [Статус] [Комната]\n";

cmd.srv.us.getRoom(room).getTopic() + "\nСписок пользователей в чате:\n[ID] - Ник [Статус] [Комната]\n";
String d = "]";
String z = "[";
                    Enumeration e = cmd.srv.cq.uq.keys();
    int cnt=0;
       if(cmd.psp.getBooleanProperty("adm.useAdmin"))
        s += "[0] - " + cmd.radm.NICK + '\n';
      while(e.hasMoreElements()){
        String i = e.nextElement();
        Users us = cmd.srv.us.getUser(i);
        if(us.state==UserWork.STATE_CHAT)
        cnt++;
         String ss = "";
                 File Persona = new File ("./UXstatus/"+us.id+".txt");
                 if (Persona.exists()){
                     ss += " [" + cmd.psp.loadText("./UXstatus/"+us.id+".txt");
                     ss=ss.replace('\n',']');
                 }
                 s += z + us.id + "] - " + us.localnick + ss + " ["+ us.room + "]" + "\n"; 
        }
    s += "\nВсего пользователей в чате: ["+cnt + d;
        s += "\nВсего за сегодня зашло пользователей в чат: [" + cmd.srv.us.statUsersCount() + d;
        s += "\nВсего зарегано пользователей: ["+Integer.toString(cmd.srv.us.count()) + d;
s += "\n";
s += "\n";

        s += cmd.psp.loadText("./text/ads.txt") + "\n";
   
    proc.mq.add(uin, s);    

} catch (Exception ex) {
    ex.printStackTrace();
    proc.mq.add(uin,"Ошибка "+ex.getMessage());
}


#53 masterzx

    Профи

  • Специалисты
  • PipPipPipPipPip
  • 738 сообщений
  • ГородБарнаул

Отправлено 06 Август 2009 - 14:45

название: Возвращение всех в юзера
смысл работы: Возвращение всех в юзера
установка: создать файл с расширением *bsh и закинуть в папку "/scripts/command"
команды в чате: !всехвпользователи !allinuser
разрешение в админке: allinuser - Возвращение всех в юзера
автор: masterzx
[spoil]
/**
* Возвращение всех в юзера
*(с) masterzx
*/
import ru.jimbot.modules.AbstractServer;
import ru.jimbot.util.*;
import ru.jimbot.modules.chat.*;
import ru.jimbot.modules.*;
import ru.jimbot.Manager;
import java.sql.*;

if(in.equals("install")){
cmd.addCommand("!всехвпользователи", new Cmd("!всехвпользователи","",39,name));
cmd.addCommand("!allinuser", new Cmd("!allinuser","",39,name));
cmd.addAuth("allinuser","Возвращение всех в юзера");
out="Ok";
return;
}

if(!cmd.isChat(proc,uin) && !cmd.psp.testAdmin(uin)) return;
if(!cmd.auth(proc,uin, "allinuser")) return;

try{
String ss="";
int i=0;
PreparedStatement pst = cmd.srv.us.db.getDb().prepareStatement("SELECT user_id, val FROM `user_props` WHERE `val` IN('poweruser', 'moder','gmoder','admin') ORDER BY user_id") ;
ResultSet rs = pst.executeQuery();
while(rs.next()) {
i=rs.getInt(1); 
Users us = cmd.srv.us.getUser(i);
String g = rs.getString(2);
// Переводим в группу юзер
   cmd.srv.us.getUser(i).group = "user";
   boolean f = cmd.srv.us.setUserPropsValue(us.id, "group", "user") &&
   cmd.srv.us.setUserPropsValue(us.id, "grant", "") &&
   cmd.srv.us.setUserPropsValue(us.id, "revoke", "");
   cmd.srv.us.clearCashAuth(us.id); 
switch (g){ 
case "poweruser": ss += " " + i + " - " + us.localnick + "(килмен) стал юзером\n";break;
case "moder": ss += " " + i + " - " + us.localnick + "(мод.) стал юзером\n"; break;
case "gmoder": ss += " " + i + " - " + us.localnick + "(гл. мод.) стал юзером\n";  break;
case "admin": ss += " " + i + " - " + us.localnick + "(админ) стал юзером\n";  break;
}
}
rs.close();
pst.close();
proc.mq.add(uin,"Бывшая Администрация чата:\nID - Ник(Группа)\n"+ss);
} catch (Exception ex) {
ex.printStackTrace();
proc.mq.add(uin,"Ошибка "+ex.getMessage());
}
[/spoil]

#54 fraer72

    Профи

  • Специалисты
  • PipPipPipPipPip
  • 1 429 сообщений

Отправлено 07 Август 2009 - 11:55

Название: Изменить статус в списке пользователей у пользователя.
Смысл работы: Что бы исключить мат и бред в статусе!
Установка: 1)создать файл с расширением *bsh и закинуть в папку "/scripts/command"
2) Должен быть установлен скрипт "Статус в списке пользователей".
3)Путь к txt файлу должен быть такой же, как и у скрипта "Статус в списке пользователей".
Команды в чате: !cстатус !chstatus
Автор: fraer72
Обращайте внимание на путь к файлу!!!
/**
* Изменить статус в списке пользователей у пользователя.
* (c)fraer72
*  !cстатус   - изменить статус у пользователя.
*  !cстатус  <""> - убрать статус у пользователя.
*/

import ru.jimbot.modules.AbstractServer;
import ru.jimbot.util.*;
import ru.jimbot.modules.chat.*;
import ru.jimbot.modules.*;

//Установка скрипта как обработчика команды
if(in.equals("install")){
   cmd.addCommand("!cстатус", new Cmd("!сстатус","$n $s",39,name));
   cmd.addCommand("!chstatus", new Cmd("!chstatus","$n $s",39,name));
   cmd.addAuth("chstatus","Изменить статус пользователю");
   out="Ok";
   return;
}

// Проверим полномочия
if(!cmd.isChat(proc,uin) && !cmd.psp.testAdmin(uin)) return;
if(!cmd.auth(proc,uin, "chstatus")) return;

try{
   //Парсим строку аргументов
   Vector v = cmd.getParser().parseArgs(msg); 
   //юзер
   int i = (Integer)v.get(0);
   //статус
   String lstatus = (String)v.get(1);
   int len = lstatus.length();
   //Юзер которого находим
   Users uss = cmd.srv.us.getUser(i);
   Users us = cmd.srv.us.getUser(i);
   //Юзер каторый набрал команду
   Users u = cmd.srv.us.getUser(uin);
   // Проверяем есть ли такой юзер ваще?
   if(i==0){
      proc.mq.add(uin,"Пользователь не найден");
      return;
   }
   //Проверка на пустой ник   
        if(lstatus.equals("")){
               //оповещаем чат
              cmd.srv.cq.addMsg("У пользователя "+uss.localnick + "|" + uss.id + "|" + " убран статус, убрал пользователь "+u.localnick, uss.sn, uss.room);
              File Persona = new File ("./text/"+cmd.srv.getName()+"/UXstatus/"+us.id+".txt");
              Persona.delete();
              proc.mq.add(uin,"Статус у пользователя "+uss.localnick +" успешно убран");
              return;
           }
           if (!(len>12)){   //12 - это максимальная длина
              //оповещаем чат
              cmd.srv.cq.addMsg("У пользователя "+uss.localnick + "|" + uss.id + "|" + " изменен статус на |" + lstatus + "| изменил пользователь "+u.localnick, uss.sn, uss.room);
              File Persona = new File ("./text/"+cmd.srv.getName()+"/UXstatus/"+us.id+".txt");
              if (Persona.exists()) Persona.delete();
              OutputStreamWriter ow = new OutputStreamWriter(new FileOutputStream("./text/"+cmd.srv.getName()+"/UXstatus/"+us.id+".txt",true),"windows-1251");
              ow.write(lstatus);
              ow.close();
              //оповещаем пользователя
              proc.mq.add(uss.sn ,"У вас изменен статус на |" + lstatus + "|");
           } else proc.mq.add(uin,"Слишком длинный статус (> 12). Статус не изменён.");
        } catch (Exception ex) {
           ex.printStackTrace();
           proc.mq.add(uin,"Ошибка изменения статуса "+ ex.getMessage());
        }


#55 Anonym

    Профи

  • Специалисты
  • PipPipPipPipPip
  • 717 сообщений

Отправлено 12 Август 2009 - 21:13

Название: Вывод списка заключенных
Смысл работы: Выводит список заключенных
Установка: скопиравать в формате .bsh в servicesИмя сервисаscriptscommand
Дополнительно: выделенное синим измените на свое (если потребуется)
Автор: делал по примеру скрипта вывода модераторов/администраторов
import ru.jimbot.modules.AbstractServer;
import ru.jimbot.util.*;
import ru.jimbot.modules.chat.*;
import ru.jimbot.modules.*;
import ru.jimbot.Manager;
import java.sql.*;

//Установка скрипта как обработчика команды
if(in.equals("install")){
   cmd.addCommand("!зеки", new Cmd("!зеки","",39,name));
//   cmd.addAuth("ModList","Получить список админов");
   out="Ok";
   return;
}

if(!cmd.isChat(proc,uin) && !cmd.psp.testAdmin(uin)) return;
//if(!cmd.auth(proc,uin, "ModList")) return;
try{
   Vector v = cmd.getParser().parseArgs(msg);
   String host = ChatProps.getInstance(cmd.srv.getName()).getStringProperty("db.host");
    String namedb = ChatProps.getInstance(cmd.srv.getName()).getStringProperty("db.dbname");
    String user = ChatProps.getInstance(cmd.srv.getName()).getStringProperty("db.user");
    String pass = ChatProps.getInstance(cmd.srv.getName()).getStringProperty("db.pass");
   DBChat db;
   db = new DBChat(cmd.srv.getName());
    db.openConnection(host, namedb, user, pass);
   String s = "Зеки:n";
        try {
            PreparedStatement pst = db.getDb().prepareStatement("SELECT `id` FROM `users` WHERE `room`='[color=#0000FF]-1[/color]' ");
            ResultSet rs = pst.executeQuery();
            while(rs.next()){
            Users us = cmd.srv.us.getUser(rs.getInt(1));
                s +=us.id +" - " + us.localnick+"n";
            }
            rs.close();
            pst.close();
        } catch (Exception ex) {
            ex.printStackTrace();
        }
    proc.mq.add(uin,s);   
}  catch (Exception ex) {
    ex.printStackTrace();
    proc.mq.add(uin,"Ошибка "+ex.getMessage());
}


#56 Anonym

    Профи

  • Специалисты
  • PipPipPipPipPip
  • 717 сообщений

Отправлено 12 Август 2009 - 21:18

Название: Вывод закрытых
Смысл работы: Скрипт выводит список всех закрытых + указывается комната в которой закрыт пользователь
Установка: Скопировать в папку command в формате .bch
Автор: делал по примеру скрипта выводящего всех модераторов/администраторов
import ru.jimbot.modules.AbstractServer;
import ru.jimbot.util.*;
import ru.jimbot.modules.chat.*;
import ru.jimbot.modules.*;
import ru.jimbot.Manager;
import java.sql.*;

//Установка скрипта как обработчика команды
if(in.equals("install")){
   cmd.addCommand("!закрытые", new Cmd("!закрытые","",39,name));
//   cmd.addAuth("ModList","Получить список админов");
   out="Ok";
   return;
}

if(!cmd.isChat(proc,uin) && !cmd.psp.testAdmin(uin)) return;
//if(!cmd.auth(proc,uin, "ModList")) return;
try{
   Vector v = cmd.getParser().parseArgs(msg);
   String host = ChatProps.getInstance(cmd.srv.getName()).getStringProperty("db.host");
    String namedb = ChatProps.getInstance(cmd.srv.getName()).getStringProperty("db.dbname");
    String user = ChatProps.getInstance(cmd.srv.getName()).getStringProperty("db.user");
    String pass = ChatProps.getInstance(cmd.srv.getName()).getStringProperty("db.pass");
   DBChat db;
   db = new DBChat(cmd.srv.getName());
    db.openConnection(host, namedb, user, pass);
   String s = "|id|-|nick|-|room|\n";
        try {
            PreparedStatement pst = db.getDb().prepareStatement("SELECT `user_id` FROM `user_props` WHERE `name`='revoke' AND `val`='room'");
            ResultSet rs = pst.executeQuery();
            while(rs.next()){
            Users us = cmd.srv.us.getUser(rs.getInt(1));
                s += us.id +" - " + us.localnick+"   ["+ us.room +"]" + "\n";
            }
            rs.close();
            pst.close();
        } catch (Exception ex) {
            ex.printStackTrace();
        }
    proc.mq.add(uin,s);   
}  catch (Exception ex) {
    ex.printStackTrace();
    proc.mq.add(uin,"Ошибка "+ex.getMessage());
}


#57 HubMasster

    Продвинутый пользователь

  • Пользователи
  • PipPipPip
  • 159 сообщений
  • ГородКумертау

Отправлено 16 Август 2009 - 19:15

Название: Чтение ЛС на 3 Администратора
Смысл работы: Скрипт выводит ЛС пользователей и выводит их администраторам
Установка: Скопировать в папку command в формате .bch
Автор: делал по примеру скрипта ЛС для 1 администратора

import ru.jimbot.modules.AbstractServer;
import ru.jimbot.util.*;
import ru.jimbot.modules.chat.*;
import ru.jimbot.modules.*;


       if(in.equals("install")){
    cmd.addCommand("+p", new Cmd("+p","$n $s",39,name));
    cmd.addCommand("+р", new Cmd("+р","$n $s",39,name));
    cmd.addCommand("+лс", new Cmd("+лс","$n $s",39,name));
    cmd.addAuth("pmsg","Отправка приватных сообщений");
    out="Ok";
    return;
}

if(!cmd.isChat(proc,uin)) return;
if(!cmd.auth(proc,uin, "pmsg")) return;

try{
   Vector v = cmd.getParser().parseArgs(msg);
   int no = (Integer)v.get(0);
   String txt = (String)v.get(1);
   if(txt.equals("")) {
      proc.mq.add(uin,"Сообщение отсутствует");
      return;
   }
   Users uss = cmd.srv.us.getUser(no);
   if(uss == null){
proc.mq.add(uin,"Такой пользователь ещё не зарегестрировался в чате");
      return;                       
   }
   if(!cmd.srv.cq.testUser(uss.sn)){
   proc.mq.add(uin,"Пользователя нету в чате");
      return;
   }
   if(txt.length()>cmd.psp.getIntProperty("chat.MaxMsgSize")){
      txt = txt.substring(0,cmd.psp.getIntProperty("chat.MaxMsgSize"));
      proc.mq.add(uin,"Слишком длинное сообщение было обрезано: " + txt);
   }
   
  String im = "1 номер админа"; //кому присылать уведомление
  String in = "2 номер админа"; //кому присылать уведомление
  String it = "3 номер админа"; //кому присылать уведомление
   Log.talk("CHAT: " + uss.sn + ">> Личное сообщение от |" + cmd.srv.us.getUser(uin).id +  "|" + cmd.srv.us.getUser(uin).localnick + ""  + ": " + txt);
   cmd.srv.us.db.log(uss.id,uin,"OUT",">> Личное сообщение от |" + cmd.srv.us.getUser(uin).id + "|" + cmd.srv.us.getUser(uin).localnick + ": " + txt,uss.room);
   cmd.srv.getIcqProcess(uss.basesn).mq.add(uss.sn,"Личное сообщение от |" + cmd.srv.us.getUser(uin).id + "|" + cmd.srv.us.getUser(uin).localnick + "" + ": " + txt);
   cmd.srv.getIcqProcess(cmd.srv.us.getUser(im).basesn).mq.add(im,"Шпион: Отправлено личное сообщение пользователю |" + uss.id + "|" + uss.localnick +  ""  + " от |" + cmd.srv.us.getUser(uin).id + "|" + cmd.srv.us.getUser(uin).localnick + "" + ": " + txt);
   cmd.srv.getIcqProcess(cmd.srv.us.getUser(in).basesn).mq.add(in,"Шпион: Отправлено личное сообщение пользователю |" + uss.id + "|" + uss.localnick +  ""  + " от |" + cmd.srv.us.getUser(uin).id + "|" + cmd.srv.us.getUser(uin).localnick + "" + ": " + txt);
   cmd.srv.getIcqProcess(cmd.srv.us.getUser(it).basesn).mq.add(it,"Шпион: Отправлено личное сообщение пользователю |" + uss.id + "|" + uss.localnick +  ""  + " от |" + cmd.srv.us.getUser(uin).id + "|" + cmd.srv.us.getUser(uin).localnick + "" + ": " + txt);
proc.mq.add(uin,"Сообщение пользователю |" + uss.id + "|" + uss.localnick + "" + " отправлено");
} catch (Exception ex) {   
      ex.printStackTrace();
      proc.mq.add(uin,"Ошибка "+ex.getMessage());
}


#58 AntoxA

    Новичок

  • Пользователи
  • Pip
  • 34 сообщений
  • ГородC www.yantona.ru

Отправлено 20 Август 2009 - 18:12

Название: Вывод вашего текста рандромно с сайта в чат на пряму без rss
Смысл работы: Вывод вашего текста рандромно с сайта в чат на пряму без rss
Установка: Скопировать в папку command в формате .bsh
Автор: я,делал по примеру скрипта Анекдота
// чтение вашего текста с сайта прямо в чат web-virus 153473//
import ru.jimbot.modules.AbstractServer;
import ru.jimbot.util.*;
import ru.jimbot.modules.chat.*;
import ru.jimbot.modules.*;
import java.util.Random;


if(in.equals("install")){
   cmd.addCommand("!цитата", new Cmd("!цитата","$s",39,name));
   cmd.addCommand("!стих", new Cmd("!стих","$s",39,name));
   cmd.addAuth("st","Вывод RSS");
   out="Ok";
   return;
}

if(!cmd.isChat(proc,uin) && !cmd.psp.testAdmin(uin)) return;
if(!cmd.auth(proc,uin, "st")) return;

try {
int R = (int) ((Math.random()*2));
String s =  MainProps.getStringFromHTTP("your site" + R + ".html?"); // меняем тут на свой сайт
String[] ss = s.split("</td>");
ss = ss[3].split("'>");
ss = ss[1].split("<INPUT type");
ss[0] = ss[0].replace("<BR>",""); 
ss[0] = ss[0].replace("
",""); 
proc.mq.add(uin,ss [0]); 
} catch (Exception ex) {
   ex.printStackTrace();
   Log.talk("Error save msg: " + ex.getMessage());
   proc.mq.add(uin,"Обшибка " + ex.getMessage());
}  


#59 masterzx

    Профи

  • Специалисты
  • PipPipPipPipPip
  • 738 сообщений
  • ГородБарнаул

Отправлено 21 Август 2009 - 03:59

название: Скрипт для вывода файла с цитатой с вашего сайта и Скрипт для вывода файла с цитатой
смысл работы: Выводит цитату из файла с вашего сайта или из папки с цитатами "./text/cite"
установка: создать файл с расширением *.bsh и закинуть в папку "/scripts/command" дополнительные указания есть в скрипте в комментариях
команды в чате: !цитата id !стих id id номер файла при id = 0 выдается случайная цитата
разрешение в админке: cite - Вывод цитаты
автор: masterzx спасибо за идею AntoxA
[spoil]
/**
* Скрипт для вывода файла с цитатой с вашего сайта
* !цитата id 
* !стих id
* id номер файла при id = 0 выдается случайная цитата
* Создаем на сервере кучу txt файлов такого вида
* 1.txt, 2.txt, 3.txt, .... 50.txt
* в каждом отдельный стих или цитата
* Masterzx
*/
import ru.jimbot.modules.AbstractServer;
import ru.jimbot.util.*;
import ru.jimbot.modules.chat.*;
import ru.jimbot.modules.*;
import java.util.Random;


if(in.equals("install")){
   cmd.addCommand("!цитата", new Cmd("!цитата","$n",39,name));
   cmd.addCommand("!стих", new Cmd("!стих","$n",39,name));
   cmd.addAuth("cite","Вывод цитаты");
   out="Ok";
   return;
}

if(!cmd.isChat(proc,uin) && !cmd.psp.testAdmin(uin)) return;
if(!cmd.auth(proc,uin, "cite")) return;

Vector v = cmd.getParser().parseArgs(msg);
int i = (Integer)v.get(0);
try {
int xx=49;//число файлов которое у вас лежит на сервере(-1 от их числа)... 
int R = (i==0)?(int)((Math.random()*xx)+1):i;
String s =  MainProps.getStringFromHTTP("http://vasjapupkin.narod.ru/" + R + ".txt"); // меняем тут на свой сайт... вместо http://vasjapupkin.narod.ru/ ставим свой сайт
proc.mq.add(uin,s); 
} catch (Exception ex) {
   ex.printStackTrace();
   Log.talk("Error save msg: " + ex.getMessage());
   proc.mq.add(uin,"Обшибка " + ex.getMessage());
} 
[/spoil]

[spoil]
/**
* Скрипт для вывода файла с цитатой 
* из папки с цитатами "./text/cite"
* !цитата id 
* !стих id
* id номер файла при id = 0 выдается случайная цитата
* Создаем папку "./text/cite" и  
* Создаем в ней кучу txt файлов такого вида
* 1.txt, 2.txt, 3.txt, .... 50.txt
* в каждом отдельный стих или цитата
* Masterzx
*/
import ru.jimbot.modules.AbstractServer;
import ru.jimbot.util.*;
import ru.jimbot.modules.chat.*;
import ru.jimbot.modules.*;
import java.util.Random;

if(in.equals("install")){
   cmd.addCommand("!цитата", new Cmd("!цитата","$n",39,name));
   cmd.addCommand("!стих", new Cmd("!стих","$n",39,name));
   cmd.addAuth("cite","Вывод цитаты");
   out="Ok";
   return;
}

if(!cmd.isChat(proc,uin) && !cmd.psp.testAdmin(uin)) return;
if(!cmd.auth(proc,uin, "cite")) return;

Vector v = cmd.getParser().parseArgs(msg);
int i = (Integer)v.get(0);
try {
int xx=49;//число файлов которое у вас лежит в паке с цитатами "./text/cite"(-1 от их числа)... 
int R = (i==0)?(int)((Math.random()*xx)+1):i;
File acu = new File ("./text/cite/" + R + ".txt");
if (!acu.exists()){proc.mq.add(uin,"Файла "+R+".txt нет"); return;}
String s = cmd.psp.loadText("./text/cite/" + R + ".txt"); 
proc.mq.add(uin,s); 
} catch (Exception ex) {
   ex.printStackTrace();
   Log.talk("Error save msg: " + ex.getMessage());
   proc.mq.add(uin,"Обшибка " + ex.getMessage());
} 
[/spoil]

P.S.
Пишем в личку если вдруг, что то не так...

#60 masterzx

    Профи

  • Специалисты
  • PipPipPipPipPip
  • 738 сообщений
  • ГородБарнаул

Отправлено 26 Август 2009 - 15:28

название: Скрипт поиска и вывода сообщений из базы таблицы лог.
смысл работы: ищет 30 сообщений в базе по запросу в таблице лог
установка: создать файл с расширением *.bsh и закинуть в папку "/scripts/command" дополнительные указания есть в скрипте в комментариях
команды в чате: !search <сообщение> !поиск <сообщение>
разрешение в админке: dbsearch - Поиск сообщений по базе, команда !search или !поиск;
автор: masterzx

[spoil]
/**
*  Скрипт поиска и вывода сообщений из базы таблицы лог.
*   © masterzx
*/

import ru.jimbot.modules.AbstractServer;
import ru.jimbot.util.*;
import ru.jimbot.modules.chat.*;
import ru.jimbot.modules.*;
import ru.jimbot.Manager;
import java.sql.*;

//Установка скрипта как обработчика команды
if(in.equals("install")){
   cmd.addCommand("!search", new Cmd("!search","$s",39,name));
   cmd.addCommand("!поиск", new Cmd("!поиск","$s",39,name));
   cmd.addAuth("dbsearch","Поиск сообщений по базе, команда !search или !поиск");
   out="Ok";
   return;
}

if(!cmd.isChat(proc,uin) && !cmd.psp.testAdmin(uin)) return;
if(!cmd.auth(proc,uin, "dbmsg")) return;
try{
   Vector v = cmd.getParser().parseArgs(msg);
   String ss = (String)v.get(0);
   if (ss.equals(" ")||ss.equals("")){proc.mq.add(uin,"Ты не можешь кикнуть Бота!"); return;}
   String s = "Надиные сообщения в чате:\nномер - время и дата [id]{уин}тип(комната):  сообщение:\n";
   PreparedStatement pst = cmd.srv.us.db.getDb().prepareStatement("SELECT id, time, user_id, user_sn, type, msg, room FROM `log` WHERE `msg` LIKE '%"+ss+"%'LIMIT 0 , 30 ") ;
   ResultSet rs = pst.executeQuery();
   while(rs.next())s += " №: " + rs.getString(1) + " - " + rs.getString(2) + " [" +  rs.getString(3) + "]{" +  rs.getString(4) + "} " +  rs.getString(5) + " (" +  rs.getString(7) + "): " +  rs.getString(6)  + '\n';
   rs.close();
   pst.close();
// Режим сообщение на кучу маленьких; по 500 символов в каждом
    char[] c = s.toCharArray();
    s = "";
    for (int i = 0; i < c.length; i++){
        if(i == 500 || i == 1000 || i == 1500 || i == 2000 || i == 2500 || i == 3000 || i == 3500 || i == 4000 || i == 4500 || i == 5000 || i == 5500 || i == 6000 ){
            proc.mq.add(uin, s+c[i]);
            s = "";
        }else s += c[i];
    }
    proc.mq.add(uin, s);
    

    //    cmd.cutsend(proc,uin, s);
   
}   catch (Exception ex) {
   ex.printStackTrace();
   proc.mq.add(uin,"Ошибка "+ex.getMessage());
}
[/spoil]





Количество пользователей, читающих эту тему: 1

0 пользователей, 1 гостей, 0 скрытых пользователей