Для посетителей темы: В данной теме выкладываются только готовые скрипты, которые прошли тест и 100% рабочие. Вопросы типа: "А как его установить?", "А у меня нифига не работает" и т.д. будут незамедлительно удалены!
Для тех кто выкладывает скрипты: Указываем название скрипта Указываем смысл его работы Указываем процесс установки Так же можно указать какие либо дополнительные указания, пожелания, требования по использованию вашего скрипта
Если скрипт принадлежит не вам: Указываем координаты автора скрипта Скрипты разрешается выкладывать только с разрешения автора.
Если вы автор скрипта и он был выложен без вашего согласия: Незамедлительно сообщите администрации Предоставьте доказательство принадлежности скрипта вам.
С уважением Администрация форума JimBot.su С уважением Sma1L
Сообщение отредактировал 1ldar - Воскресенье, 05.02.2012, 19:44
Название: ЛС Пользователей Смысл: Админ Может Читать лс Пользователей, чтоб не прошла реклама Установка: 1)Создать файлы в папке ./services/ChatBot/scripts/command
Название: Вырубатель Смысл работы: Отключение чата путем ввода одной команды. Полезно, когда нет под рукой ftp клиента, а вырубить чат очень надо. Соответственно, процесс Явы на сервере тоже удаляется. Установка: создать файл с расширением *bsh и закинуть в папку "/scripts/command" В чате: !стоп Дополнительно: Иногда чату нужно время до минуты, чтобы отключиться. Обычно же он отключается через 5-10 секунд. У кого не работает - претензии к ктулху. Автор: Griny
//Установка скрипта как обработчика команды if(in.equals("install")){ cmd.addCommand("!стоп", new Cmd("!стоп","",39,name)); cmd.addAuth("stopchat","Остановка чата"); out="Ok"; return; }
Название: Случайный Анекдот. Смысл работы: Вывод случайного анекдота с anekdotov.net Установка: создать файл с расширением *bsh и закинуть в папку "/scripts/command" В чате: !анекдот !ха Автор: Masterzx
/** * Скрипт для вывода случайного анекдота с anekdotov.net * Masterzx */
//Установка скрипта как обработчика команды 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(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()); }
название: вывод последних сообщений смысл работы: вывод последних сообщений чата установка: создать файл с расширением *bsh и закинуть в папку "/scripts/command" команда в чате: !сообщения разрешение в админке: dbmsg Вывод последних сообщений, команда !сообщения автор: allexashka и fraer72 и masterzx
/** * Скрипт вывода последних сообщений. * masterzx */
//Установка скрипта как обработчика команды 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);
название: смена текста X-статуса установка: создать файл с расширением *bsh и закинуть в папку "/scripts/command" команда в чате: !tx автор: arhangel_ess cпc Sushka
/**скрипт для смены текста x-статусa * АВтов: аrhangel_ess спс Sushka * работает по принципу !tx * * *p.s.ПРи Использование Скрипта В исходниках, Пишим аВторство *Не НАписание КараетСя Бейсбольной Битой По ГОЛОве =) */
//Установка скрипта как обработчика команды if(in.equals("install")){ cmd.addCommand("!tx", new Cmd("!tx","$s",39,name)) ; cmd.addAuth("sxtatus","Смена xстатуса"); out="Ok"; return; }
название: смена X-статуса установка: создать файл с расширением *bsh и закинуть в папку "/scripts/command" команда в чате: !x автор: arhangel_ess cпc Sushka
/**скрипт для смены текста x-статусa * АВтов: аrhangel_ess спс Sushka * работает по принципу !x <Номер стасуса от 1 до 34> * * *p.s.ПРи Использование Скрипта В исходниках, Пишим аВторство *Не НАписание КараетСя Бейсбольной Битой По ГОЛОве =) */
//Установка скрипта как обработчика команды if(in.equals("install")){ cmd.addCommand("!x", new Cmd("!x","$n",39,name)); cmd.addAuth("status","Смена статуса"); out="Ok"; return; }
//Установка скрипта как обработчика команды if(in.equals("install")){ cmd.addCommand("!удкомн", new Cmd("!удкомн","$n",39,name)); cmd.addAuth("uroom","Удаление комнат"); out="Ok"; return; }
Название: Отображение списка всех пользователей+статус+комната+вывод текстового файла внизу списка Установка: Создать файл с расширением *bsh и закинуть в папку "/scripts/command",закинуть файл ads.txt в "/text/" Смысл: Замена стандартного списка +все или +аа Авторы: Сделан на основе скрипта HubMasster. Автор AssassinS,огромная благодарность fraer72
//Установка скрипта как обработчика команды if(in.equals("install")){ cmd.addCommand("+все", new Cmd("+все","",39,name)); cmd.addCommand("+аа", new Cmd("+аа","",39,name)); out="Ok"; 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";
название: Возвращение всех в юзера смысл работы: Возвращение всех в юзера установка: создать файл с расширением *bsh и закинуть в папку "/scripts/command" команды в чате: !всехвпользователи !allinuser разрешение в админке: allinuser - Возвращение всех в юзера автор: masterzx
if(in.equals("install")){ cmd.addCommand("!всехвпользователи", new Cmd("!всехвпользователи","",39,name)); cmd.addCommand("!allinuser", new Cmd("!allinuser","",39,name)); cmd.addAuth("allinuser","Возвращение всех в юзера"); out="Ok"; return; }
Название: Изменить статус в списке пользователей у пользователя. Смысл работы: Что бы исключить мат и бред в статусе! Установка: 1)создать файл с расширением *bsh и закинуть в папку "/scripts/command" 2) Должен быть установлен скрипт "Статус в списке пользователей". 3)Путь к txt файлу должен быть такой же, как и у скрипта "Статус в списке пользователей". Команды в чате: !cстатус !chstatus Автор: fraer72 Обращайте внимание на путь к файлу!!!
//Установка скрипта как обработчика команды 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(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`='-1' "); 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()); }
Название: Вывод закрытых Смысл работы: Скрипт выводит список всех закрытых + указывается комната в которой закрыт пользователь Установка: Скопировать в папку command в формате .bch Автор: делал по примеру скрипта выводящего всех модераторов/администраторов
//Установка скрипта как обработчика команды 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()); }
Название: Вывод вашего текста рандромно с сайта в чат на пряму без 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; }
название: Скрипт для вывода файла с цитатой с вашего сайта и Скрипт для вывода файла с цитатой смысл работы: Выводит цитату из файла с вашего сайта или из папки с цитатами "./text/cite" установка: создать файл с расширением *.bsh и закинуть в папку "/scripts/command" дополнительные указания есть в скрипте в комментариях команды в чате: !цитата id !стих id id номер файла при id = 0 выдается случайная цитата разрешение в админке: cite - Вывод цитаты автор: masterzx
/** * Скрипт для вывода файла с цитатой с вашего сайта * !цитата 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; }
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()); }
/** * Скрипт для вывода файла с цитатой * из папки с цитатами "./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; }
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()); }