Для посетителей темы: В данной теме выкладываются только готовые скрипты, которые прошли тест и 100% рабочие. Вопросы типа: "А как его установить?", "А у меня нифига не работает" и т.д. будут незамедлительно удалены!
Для тех кто выкладывает скрипты: Указываем название скрипта Указываем смысл его работы Указываем процесс установки Так же можно указать какие либо дополнительные указания, пожелания, требования по использованию вашего скрипта
Если скрипт принадлежит не вам: Указываем координаты автора скрипта Скрипты разрешается выкладывать только с разрешения автора.
Если вы автор скрипта и он был выложен без вашего согласия: Незамедлительно сообщите администрации Предоставьте доказательство принадлежности скрипта вам.
С уважением Администрация форума JimBot.su С уважением Sma1L
Сообщение отредактировал 1ldar - Воскресенье, 05.02.2012, 19:44
название: Скрипт поиска и вывода сообщений из базы таблицы лог. смысл работы: ищет 30 сообщений в базе по запросу в таблице лог установка: создать файл с расширением *.bsh и закинуть в папку "/scripts/command" дополнительные указания есть в скрипте в комментариях команды в чате: !search <сообщение> !поиск <сообщение> разрешение в админке: dbsearch - Поиск сообщений по базе, команда !search или !поиск; автор: masterzx
//Установка скрипта как обработчика команды 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);
Название: Контроль привата Цель: Защита от рекламы Установка: создать файл с расширением *bsh в папке "/scripts/command" Команда в чате: +лс Автор: AssassinS
//Установка скрипта как обработчика команды if(in.equals("install")){ cmd.addCommand("!свадьба", new Cmd("!свадьба","$n $n",39,name)); cmd.addAuth("wedding","свадьба"); out="Ok"; return; }
try{ Vector v = cmd.getParser().parseArgs(msg); //невеста int i1 = (Integer)v.get(0); //жених int i2 = (Integer)v.get(1); Users sss = cmd.srv.us.getUser(uin); Users u = cmd.srv.us.getUser(i1); Users uss = cmd.srv.us.getUser(i2);
// номер комнаты для свадьбы if((uss.room!=3) && (u.room!=3) && (sss.room!=3)) { proc.mq.add(uin,"Свадьба может быть только в 3 комнате и молодожены тоже должны быть тут же..."); return; } // Проверка по базе если они вообще if((u.id==0) || (uss.id==0)){ proc.mq.add(uin,"Пользователь не найден"); return; } // проверка были ли замужем или женат один из юзеров File acu = new File ("./users/" + i1); File acu1 = new File ("./users/" + i2); if (acu.exists() || acu1.exists()){proc.mq.add(uin,"Пользователи уже в браке"); return;}
if((u.state != UserWork.STATE_CHAT) || (uss.state != UserWork.STATE_CHAT) ) { proc.mq.add (uin,"Этого пользователя нет в чате."); return; }
//Установка скрипта как обработчика команды if(in.equals("install")){ cmd.addCommand("!развести", new Cmd("!развести","$n $n",39,name)); cmd.addAuth("wedding","свадьба"); out="Ok"; return; }
try{ //Парсим строку аргументов Vector v = cmd.getParser().parseArgs(msg); //Согласно шаблону, аргумент должн быть числом // Жена int i1 = (Integer)v.get(0); // Муж int i2 = (Integer)v.get(1); // Находим юзера Users u = cmd.srv.us.getUser(i1); Users uss = cmd.srv.us.getUser(i2); // Проверяем есть ли такой юзер ваще? if((u.id==0) || (uss.id==0)){ proc.mq.add(uin,"Пользователи не найдены"); return; }
File acu = new File ("./users/" + i1); File acu1 = new File ("./users/" + i2); if ((!acu.exists() )|| (!acu1.exists())){proc.mq.add(uin,"Пользователи не были в браке"); return;} String nick = cmd.psp.loadText("./users/" + i1); String[] snick = nick.split(" "); String nick1 = cmd.psp.loadText("./users/" + i2); String[] snick1 = nick1.split(" "); if ((nick == "") || (nick1 == "")){proc.mq.add(uin,"Пользователи не были в браке"); return;} acu.delete(); acu1.delete(); // Меняем ник у жены u.localnick = snick[0]; cmd.srv.us.updateUser(u); cmd.srv.us.db.event(u.id, uin, "reg", 0, "", snick[0]); cmd.srv.us.grantUser(i1, "reg");// возвращаем права на смену ника
// Меняем ник у мужа
uss.localnick= snick1[0]; cmd.srv.us.updateUser(uss); cmd.srv.us.db.event(uss.id, uin, "reg", 1, "", snick1[0]); cmd.srv.us.grantUser(i2, "reg");// возвращаем права на смену ника
Название: Mod вывода комнат по порядку с статистикой всего комнат, всего пользователей онлайн... и ещё добавлена реклама Установка: Создать файл с расширением *.bsh и закинуть в папку "/scripts/command" Создать файл "reklama" с расширением *.txt и закинуть в папку text Команды в чате: !комнаты !lroom Автор Moda: HubMasster
//Установка скрипта как обработчика команды if(in.equals("install")){ cmd.addCommand("!lroom", new Cmd("!lroom","",39,name)); cmd.addCommand("!комнаты", new Cmd("!комнаты","",39,name)); out="Ok"; return; }
//Установка скрипта как обработчика команды if(in.equals("install")){ cmd.addCommand("!очистить", new Cmd("!очистить","",39,name)); cmd.addAuth("clean","ОЧИСТКА БД"); out="Ok"; return; }
Название: Смена статуса пользователя Установка: Создать файл с расширением *.bsh и закинуть в папку "/scripts/command" Автор: HellFaust, по моей просьбе!Спасибо ему за комментарии.
if(in.equals("install")){ // Установка скрипта, как обработчика команды cmd.addCommand("!сстатус", new Cmd("!сстатус","$n $s",39,name)); cmd.addAuth("chstatus","Изменить статус пользователю"); out="Ok"; return; }
try{ Vector v = cmd.getParser().parseArgs(msg); //парсим строку аргументов int id = (Integer)v.get(0); // берем ид юзера String sn = (String)v.get(1); //берем статус int len = sn.length(); //его длину Users us = cmd.srv.us.getUser(id); //определим юзера, которому сеняем if(us.id==0){ //проверим, есть ли вообще такой юзер proc.mq.add(uin,"Пользователь не найден"); return; } if(sn.equals("")||sn.equals(" ")){ //Проверяем наличие статуса PreparedStatement pst = cmd.srv.us.db.getDb().prepareStatement("DELETE FROM info WHERE type = 'STATUS' and user_id =" + us.id); //удаляем pst.execute(); // выполним sql pst.close(); // закроем соединение с базой proc.mq.add(uin,"Статус удален"); return; } if(len<20){ // 20 это максимальная длина статуса PreparedStatement pst = cmd.srv.us.db.getDb().prepareStatement("DELETE FROM info WHERE type = 'STATUS' and user_id =" + us.id); //если не превышает допустимую длину удалим старый статус pst.execute(); // выполним sql pst.close(); // закроем соединение с базой cmd.srv.us.db.info(us.id, us.sn, "STATUS", 0, "", sn); //запишем новый Log.talk("Статус изменен: " + us.id + " - " + sn); //выведем в лог proc.mq.add(uin,"У пользователя " +us.localnick+" статус изменен на [" + sn + "]"); // опоаестим отправившего команду о успешном выполнении cmd.srv.cq.addMsg(uin,"У пользователя " +us.localnick+" статус изменен на [" + sn + "]"); } else // если статус привысил допустимую длину proc.mq.add(uin,"Слишком длинный статус, максимум 30 символов!"); // оповестим о этом } catch (Exception ex) { // если вдруг ошибка ex.printStackTrace(); // определим ее Log.talk("Ошибка изменения статуса: " + ex.getMessage()); // выведем в лог proc.mq.add(uin,"Ошибка изменения статуса "+ ex.getMessage()); // оповестим набравшего команду
//Установка скрипта как обработчика команды if(in.equals("install")){ cmd.addCommand("!транспорт", new Cmd("!транспорт","$c",39,name)); cmd.addAuth("TpaHcnopT","возможность покупать охрану"); out="Ok"; return; }
/** * При вызове скрипта определены следующие переменные: * ChatCommandProc cmd - ссылка на обработчик команд * IcqProtocol proc - ссылка на процесс обработки icq * String msg - текст сообщения с командой * String uin - кто отправил сообщение * String name - имя этого файла (при процедуре инсталяции скрипта) */