Правила, для тех, кто выкладывает коды:
1.Указываем название Или для чего используется код!
2.Коды должны быть рабочими!
За несоблюдение правил , посты будут удаляться !
Теги: Здесь будем выкладывать дополнения в исходные коды Jimbot
Поддержка проекта JimBot |
Привет, Гость! Войдите или зарегистрируйтесь.
Вы здесь » Поддержка проекта JimBot » Дополнения для JimBot » Здесь будем выкладывать дополнения в исходные коды Jimbot
Правила, для тех, кто выкладывает коды:
1.Указываем название Или для чего используется код!
2.Коды должны быть рабочими!
За несоблюдение правил , посты будут удаляться !
Теги: Здесь будем выкладывать дополнения в исходные коды Jimbot
В ChatProps:
setIntProperty("kol.warn",5);
setIntProperty("kol.warns",5);
setIntProperty("kick.warn",15);
new UserPreference(UserPreference.CATEGORY_TYPE,"warn", "Настройки предупреждений",""),
new UserPreference(UserPreference.INTEGER_TYPE,"kol.warn","Количество предупреждений",getIntProperty("kol.warn")),
new UserPreference(UserPreference.INTEGER_TYPE,"kol.warns","Сколько снимать предупреждений",getIntProperty("kol.warns")),
new UserPreference(UserPreference.INTEGER_TYPE,"kick.warn","Время кика ",getIntProperty("kick.warn")),
В ChatCommandProc:
commands.put("!предупреждение", new Cmd("!предупреждение", "$n", ***));
commands.put("!спредупреждение", new Cmd("!спредупреждение", "$n", ***));
case ***:
commandwarning(proc, uin,parser.parseArgs(tmsg));
break;
case ***:
commandSwarning(proc, uin,parser.parseArgs(tmsg));
break;
/**Автор
*xakerok*/
private void commandwarning(IcqProtocol proc, String uin, Vector v)
{
if (!isChat(proc, uin)) return;
if (!auth(proc, uin, "warning")) return;
int s = ((Integer)v.get(0)).intValue();
Users us = srv.us.getUser(s);
Users uss = srv.us.getUser(uin);
if (us.id == 0)
{
proc.mq.add(uin, "Данный пользователь ещё не зарегестрировался в чате");
return;
}
proc.mq.add(uin, "Вы выставили предупреждение пользователю [" + us.id + "] " + us.localnick +", всего у него их [" +us.birthday+ "]\nПо достижению [" + psp.getIntProperty("kol.warn") + "] предупреждений(я) пользователь вылетит из чата на [" + psp.getIntProperty("kick.warn") + "] минут");
int warning = us.birthday + 1;
us.birthday = warning;
srv.us.updateUser(us);
srv.getIcqProcess(us.basesn).mq.add(us.sn, "Вам выставленно предупреждение от пользователя: [" + uss.id + "] " + uss.localnick + ", у вас теперь предупреждений: [" + warning + "]\nПо достижению [" + psp.getIntProperty("kol.warn") + "] ты вылетишь из чата на [" + psp.getIntProperty("kick.warn") + "] минут");
int vremya = psp.getIntProperty("kick.warn");
if(us.birthday==psp.getIntProperty("kol.warn")) {
proc.mq.add(us.sn, "Вы были выпнуты из чата на " + vremya + ". Причина: вы набрали "+psp.getIntProperty("kol.warn")+" предупреждений(я)\nВ следущий раз сидите тихо!");
us.birthday = 0;
tkick(proc, us.sn, vremya);
srv.us.clearCashAuth(us.id);
srv.us.updateUser(us);
}
}
/**
* Снять предупреждение
* Автор: Smatlyun)
* ICQ#: 981326
* НЕ ПИЗДИТЬ, КОПИРАЙТЫ НЕ МЕНЯТЬ
*/
private void commandSwarning(IcqProtocol proc, String uin, Vector v){
if (!isChat(proc, uin)) return;
if (!auth(proc, uin, "warning")) return;
int ss = (Integer)v.get(0);
Users us = srv.us.getUser(ss);
Users uss = srv.us.getUser(uin);
if(us.id==0) {
proc.mq.add(uin,"Данный пользователь ещё не зарегестрировался в чате");
return;
}
if(us.state!=UserWork.STATE_CHAT){
proc.mq.add(uin,"Данный пользователь не в чате");
return;
}
if(us.birthday==0){
proc.mq.add(uin,"У пользователя итак нет предупреждений");
return;
}
proc.mq.add(uin, "Вы сняли предупреждение пользователю [" + us.id + "] " + us.localnick +", всего у него их [" +us.birthday+ "]");
int sswarning = psp.getIntProperty("kol.warns");
int swarning = us.birthday - sswarning;
us.birthday = swarning;
if (us.birthday < 0) {
us.birthday = 0;
}
srv.us.updateUser(us);
srv.getIcqProcess(us.basesn).mq.add(us.sn, "Вам уменьшен уровень предупреждений от пользователя: [" + uss.id + "] " + uss.localnick + ", у вас теперь предупреждений: [" + swarning + "]");
}
[color=red]В ChatProps:[/color] setBooleanProperty("otp.on.off",true); setIntProperty("otp.room",5); setIntProperty("otp.pball",100); setIntProperty("otp.mball",50); new UserPreference(UserPreference.CATEGORY_TYPE, "otp", "Отпиздить", ""), new UserPreference(UserPreference.BOOLEAN_TYPE, "otp.on.off", "Включить/выключить",getBooleanProperty("otp.on.off")), new UserPreference(UserPreference.INTEGER_TYPE,"otp.room","Комната игры",getIntProperty("otp.room")), new UserPreference(UserPreference.INTEGER_TYPE,"otp.pball","Сколько давать при победе",getIntProperty("otp.pball")), new UserPreference(UserPreference.INTEGER_TYPE,"otp.mball","Сколько забирать при проигрыше",getIntProperty("otp.mball")), [color=red]В ChatCommandProc:[/color] В public class ChatCommandProc extends AbstractCommandProcessor добавить: public ConcurrentHashMap<Integer, Long> otp; В public ChatCommandProc(ChatServer s) добавить: otp = new ConcurrentHashMap<Integer, Long>(); authObj.put("games", "Играть в игры"); commands.put("!отпиздить", new Cmd("!отпиздить", "$n", ***)); case ***: if (psp.getBooleanProperty("otp.on.off")) { commandotpizdit(proc,uin,parser.parseArgs(tmsg)); } else { proc.mq.add(uin, "Система: Эта игра была закрыта администрацией чата"); } break; /** * Отпиздить * Автор: Smatlyun) * ICQ#: 981326 * НЕ ПИЗДИТЬ, КОПИРАЙТЫ НЕ МЕНЯТЬ */ private void commandotpizdit(IcqProtocol proc, String uin, Vector v) { int i = (Integer)v.get(0);//хз int ppriz = psp.getIntProperty("otp.pball");//балы при выигрыше int mpriz = psp.getIntProperty("otp.mball");//баллы при проигрыше int mhp = 5;//-хп при проигрыше int mhpp = 50;//после скольки хп нельзя пиздить long iw = System.currentTimeMillis(); if (!auth(proc, uin, "games")) return;//полномочие Users us = srv.us.getUser(uin);//я Users u = srv.us.getUser(i);//не я if (!(otp.containsKey(Integer.valueOf(us.id)))) { otp.put(Integer.valueOf(us.id), Long.valueOf(iw)); } else { long iss = ((Long)otp.get(Integer.valueOf(us.id))).longValue(); if (System.currentTimeMillis() - iss < 300000L) { proc.mq.add(uin, "Вы не можете пиздить чаще, чем раз в [5] минут..."); return; } otp.put(Integer.valueOf(us.id), Long.valueOf(iw)); } if (us.room != psp.getIntProperty("otp.room")) { proc.mq.add(uin, "Пиздить можно только в ["+psp.getIntProperty("otp.room")+"] комнате"); return; } if(u.id==0) { proc.mq.add(uin,"Данный пользователь ещё не зарегестрировался в чате"); return; } if(u.state!=UserWork.STATE_CHAT){ proc.mq.add(uin,"Данный пользователь не в чате"); return; } if(u.room!=us.room) { proc.mq.add(uin,"Ты должен быть в одной комнате с тем кого пиздишь"); return; } if(u.hp<=mhpp){ proc.mq.add(uin, "Пожалей у пользователя итак нету хп!"); return; } if(u.ball<=mpriz){ proc.mq.add(uin, "Пожалей у пользователя итак нету баллов!"); return; } try { proc.mq.add(u.sn,"Вас отпиздил пользователь [" + us.id + "]" +us.localnick+ " у вас взымается за это ["+mpriz+"] баллов и вы теряете ["+mhp+"] хп\nЧто бы попробовать дать сдачи и забрать свои баллы введите !отпиздить " + us.id + ""); u.hp -= mhp; u.ball -= mpriz; srv.us.updateUser(u); proc.mq.add(uin,"Вы отпиздили пользователя [" + u.id + "]" + u.localnick+ " и получаете за это ["+ppriz+"] баллов"); us.ball += ppriz; srv.us.updateUser(us); } catch (Exception ex) { ex.printStackTrace(); proc.mq.add(uin,"Ошибка "+ex.getMessage()); } }
Насильно регистрировать пользователя
commands.put("!зарегать", new Cmd("!зарегать", "$c $c", 137));
case 137: commandRegUser(proc, uin, parser.parseArgs(tmsg)); break;
public void commandRegUser(IcqProtocol proc, String uin, Vector v){ if ((!isChat(proc, uin)) && (!psp.testAdmin(uin))) return; if (!auth(proc, uin, "reg_user")) return; try { int maxNick = psp.getIntProperty("chat.maxNickLenght"); String user = (String)v.get(0); String nick = (String)v.get(1); Users uss = srv.us.getUser(user); if (uss.id != 0) { proc.mq.add(uin, "Юзер уже зареган в чате: " + uss.localnick + "|" + uss.id + "|"); return; } if ((nick.equals("")) || (nick.equals(" "))) { proc.mq.add(uin, "Ошибка: Пустой ник"); return; } if (user.length() < 6) { proc.mq.add(uin, "Наврятли в чате кто то будет сидеть с 5ти знака!"); return; } if (nick.length() > maxNick) { nick = nick.substring(0, maxNick); proc.mq.add(uin, "Предупреждение! ник слишком длинный и будет обрезан."); } if (!testNick(uin, nick)) { proc.mq.add(uin, "Ошибочный ник, попытайтесь еще раз"); return; } if (this.srv.us.isUsedNick(nick)) { proc.mq.add(uin, "Такой ник уже существует. Попробуйте другой ник"); return; } uss.state = 1; uss.basesn = proc.baseUin; uss.localnick = nick; uss.sn = user; int id = srv.us.addUser(uss); srv.us.db.log(id, user, "REG", nick, uss.room); srv.us.db.event(id, user, "REG", 0, "", nick); proc.mq.add(user, "Теперь Вы пользователь нашего чата. Вход по команде !чат"); proc.mq.add(uin, "Вы успешно зарегистрировали юзера"); this.srv.cq.addMsg("Зарегистрировали пользователя " + uss.localnick + "|" + uss.id + "|", "", 0); } catch (Exception ex) { ex.printStackTrace(); } }
создание, редактирование и удаление комнат интерактивно
/** * !crroom - Создание новой комнаты * @param proc * @param uin * @param v */ public void commandCrRoom(IcqProtocol proc, String uin, String mmsg){ if(!isChat(proc,uin) && !psp.testAdmin(uin)) return; if (!auth(proc, uin, "wroom")) return; try{ int step = 0; String cmd = ""; Vector v8 = new Vector(); if (comMap.containsKey(uin)){ step = Integer.parseInt(comMap.get(uin).getMsg()); cmd = comMap.get(uin).getCmd(); v8 = comMap.get(uin).getData(); } switch (step){ case 0: proc.mq.add(uin, "Введите ид комнаты(только цифру)"); comMap.put(uin, new CommandExtend(uin,mmsg,"1",v8,60000)); break; case 1: int room; try { room = Integer.parseInt(mmsg); } catch(NumberFormatException e) { proc.mq.add(uin, " *NO* не так, напишите только цифру!"); comMap.put(uin, new CommandExtend(uin,cmd,"1",v8,60000)); return; } if (srv.us.checkRoom(room)) { proc.mq.add(uin,"Такая комната уже существует, введите другое ид"); comMap.put(uin, new CommandExtend(uin,cmd,"1",v8,60000)); return; } v8.add(0, room); proc.mq.add(uin,"Введите название комнаты"); comMap.put(uin, new CommandExtend(uin,cmd,"2",v8,60000)); break; case 2: int k = ((Integer)v8.get(0)).intValue(); v8.add(1, mmsg); String s = mmsg; Rooms r = new Rooms(); r.setId(k); r.setName(s); srv.us.createRoom(r); proc.mq.add(uin,"Комната " + k + " успешно создана!"); comMap.remove(uin); break; } }catch (Exception ex) { ex.printStackTrace(); proc.mq.add(uin, "Error: " + ex.getMessage()); } }
/** * Изменение комнаты * @param proc * @param uin * @param v */ public void commandChRoom(IcqProtocol proc, String uin, String mmsg){ if(!isChat(proc,uin) && !psp.testAdmin(uin)) return; if (!auth(proc, uin, "wroom")) return; try{ int step = 0; String cmd = ""; Vector v9 = new Vector(); if (comMap.containsKey(uin)){ step = Integer.parseInt(comMap.get(uin).getMsg()); cmd = comMap.get(uin).getCmd(); v9 = comMap.get(uin).getData(); } switch (step){ case 0: proc.mq.add(uin, "Введите ид комнаты которую хотите изменить(только цифру)"); comMap.put(uin, new CommandExtend(uin,mmsg,"1",v9,60000)); break; case 1: int room; try { room = Integer.parseInt(mmsg); } catch(NumberFormatException e) { proc.mq.add(uin, " *NO* не так, напишите только цифру!"); comMap.put(uin, new CommandExtend(uin,cmd,"1",v9,60000)); return; } if (!srv.us.checkRoom(room)) { proc.mq.add(uin, "Такой комнаты не существует, выберите другую"); comMap.put(uin, new CommandExtend(uin,cmd,"1",v9,60000)); return; } v9.add(0, room); proc.mq.add(uin,"Введите новое название комнаты"); comMap.put(uin, new CommandExtend(uin,cmd,"2",v9,60000)); break; case 2: int k = ((Integer)v9.get(0)).intValue(); v9.add(1, mmsg); String s = mmsg; Rooms r = srv.us.getRoom(k); r.setName(s); srv.us.saveRoom(r, ""); proc.mq.add(uin, "Комната ["+Integer.valueOf(k)+"] успешно изменена!" ); comMap.remove(uin); break; } }catch (Exception ex) { ex.printStackTrace(); proc.mq.add(uin, "Error: " + ex.getMessage()); } }
/** * Удаление комнат * @param proc * @param uin * @param v */ public void commandDeleteRoom(IcqProtocol proc, String uin, String mmsg){ if(!isChat(proc,uin) && !psp.testAdmin(uin)) return; if (!auth(proc, uin, "wroom")) return; try{ Users uss = srv.us.getUser(uin); int step = 0; String cmd = ""; Vector v7 = new Vector(); if (comMap.containsKey(uin)){ step = Integer.parseInt(comMap.get(uin).getMsg()); cmd = comMap.get(uin).getCmd(); v7 = comMap.get(uin).getData(); } switch (step){ case 0: proc.mq.add(uin, "Введите ид комнаты которую хотите удалить(только цифру)"); comMap.put(uin, new CommandExtend(uin,mmsg,"1",v7,60000)); break; case 1: int room; try { room = Integer.parseInt(mmsg); } catch(NumberFormatException e) { proc.mq.add(uin, " *NO* не так, напишите только цифру!"); comMap.put(uin, new CommandExtend(uin,cmd,"1",v7,60000)); return; } int f = Integer.parseInt(mmsg); if (!srv.us.checkRoom(f)) { proc.mq.add(uin,"Такая комната не существует, введите другое ид"); comMap.put(uin, new CommandExtend(uin,cmd,"1",v7,60000)); return; } Rooms r = new Rooms(); r.setId(room); srv.us.deleteRoom(r); srv.cq.addMsg("Была удалена комната " + srv.us.getRoom(room).getName() + "[" + room + "] пользователем " + uss.localnick + "[" + uss.id + "]", uin, uss.room); proc.mq.add(uin, "Комната " + room + " была успешно удалена"); comMap.remove(uin); break; } }catch (Exception ex) { ex.printStackTrace(); proc.mq.add(uin, "Error: " + ex.getMessage()); } }
Вы здесь » Поддержка проекта JimBot » Дополнения для JimBot » Здесь будем выкладывать дополнения в исходные коды Jimbot