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


Изменение кода

код выхода

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

#1 Anonymous

    Новичок

  • Заблокированные
  • Pip
  • 38 сообщений
  • ГородЕкатеринбург

Отправлено 12 Апрель 2012 - 21:02

/**
* Выход из чата
* @param proc
* @param uin
*/
public void exitChat(IcqProtocol proc, String uin){
Users uss = srv.us.getUser(uin);
if (uss.state != UserWork.STATE_CHAT) return; // Юзера нет в чате - игнорируем команду
uss.state = UserWork.STATE_NO_CHAT;
srv.us.updateUser(uss);
if (proc.isNoContactList()) {
proc.RemoveContactList(uin);
}
Log.getLogger(srv.getName()).talk(uss.localnick + " Ушел(а) из чата");
srv.us.db.get("log").log(uss.id,uin,"STATE_OUT",uss.localnick + " Ушел(а) из чата",uss.room);
srv.us.db.get("events").event(uss.id, uin, "STATE_OUT", 0, "", uss.localnick + " Ушел(а) из чата");
if (!srv.us.authorityCheck(uss.id,"invisible")){
srv.cq.addMsg(Messages.getInstance(srv.getName()).getString_exitChat("commandexitChat.0", uss), uss.sn, uss.room);
proc.mq.add(uin,Messages.getInstance(srv.getName()).getString_exitChat("commandexitChat.1", uss));
}else{
proc.mq.add(uin,Messages.getInstance(srv.getName()).getString_exitChat("commandexitChat.2", uss));
}
srv.cq.delUser(uin);
}

поправте код пожалуйста команды выход! чтобы выводило так!!!!!

если пользователь не в чате и он написал команду !выход то ему приходило сообшение что вы не находитесь в чате и чтоб при выходи ему приходило какойнибудь анекдот с сайта с любого

#2 Servc

    Новичок

  • Пользователи
  • Pip
  • 9 сообщений
  • ГородЕкатиренбург

Отправлено 12 Апрель 2012 - 22:20

if (uss.state != UserWork.STATE_CHAT)
proc.mq.add("Вы не в чате") ;
return;
uss.state = UserWork.STATE_NO_CHAT;


#3 Serega

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

  • Специалисты
  • PipPip
  • 77 сообщений
  • ГородОктябрьский

Отправлено 12 Апрель 2012 - 22:22

Например можно так:
/**
* Выход из чата
* @param proc
* @param uin
*/
public void exitChat(IcqProtocol proc, String uin){
Users uss = srv.us.getUser(uin);
if (uss.state != UserWork.STATE_CHAT){ // Юзера нет в чате - выводим анекдот
////////////// Код вывода анекдота
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("<br>","");
proc.mq.add(uin, "Вы не в чате!" + ss [0]);
//////////////
return;
}
uss.state = UserWork.STATE_NO_CHAT;
srv.us.updateUser(uss);
if (proc.isNoContactList()) {
proc.RemoveContactList(uin);
}
Log.getLogger(srv.getName()).talk(uss.localnick + " Ушел(а) из чата");
srv.us.db.get("log").log(uss.id,uin,"STATE_OUT",uss.localnick + " Ушел(а) из чата",uss.room);
srv.us.db.get("events").event(uss.id, uin, "STATE_OUT", 0, "", uss.localnick + " Ушел(а) из чата");
if (!srv.us.authorityCheck(uss.id,"invisible")){
srv.cq.addMsg(Messages.getInstance(srv.getName()).getString_exitChat("commandexitChat.0", uss), uss.sn, uss.room);
proc.mq.add(uin,Messages.getInstance(srv.getName()).getString_exitChat("commandexitChat.1", uss));
}else{
proc.mq.add(uin,Messages.getInstance(srv.getName()).getString_exitChat("commandexitChat.2", uss));
}
srv.cq.delUser(uin);
}

Но лучше брать анекдоты не с сайта, а с БД (к примеру с таблицы анекдотов) т.к. если сайт будет недоступен будут ошибки...

#4 scano

    Профи

  • Пользователи
  • PipPipPipPipPip
  • 571 сообщений
  • ГородМосква

Отправлено 13 Апрель 2012 - 02:06

Для каждой ошибке, в зависимости от её типа имеет своё исключение.

#5 Vesper

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

  • Пользователи
  • PipPipPip
  • 111 сообщений
  • Городкировград

Отправлено 13 Апрель 2012 - 12:07

я брал анекдоты с сайта не очень нравилось очень много повторяется, с бд всё проще на много)





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

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