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


база забаненых


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

#1 Graf

    Профи

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

Отправлено 10 Ноябрь 2010 - 18:21

Давайте сделаем норм работающую команду !банлист, чтобы работал не из логов , а из базы сразу,
а ту иногда показывает бан иногда нет(, и не понятно, так же и киклист

P.s Объясните за что минус?

Сообщение отредактировал Graf: 10 Ноябрь 2010 - 18:52


#2 бодрыч

    Специалист

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

Отправлено 10 Ноябрь 2010 - 18:37

тогда уж и киклист...и список закрытых)

Сообщение отредактировал бодрыч: 10 Ноябрь 2010 - 18:39


#3 DeadInside

    Профи

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

Отправлено 10 Ноябрь 2010 - 18:42

это же всего лишь запросы в исходниках переправить... можно вообще в отдельную таблицу записывать кто забанил, кого забанил, когда забанил и по какой причине...

#4 Graf

    Профи

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

Отправлено 10 Ноябрь 2010 - 18:51

Просмотр сообщенияDeadInside (10 Ноябрь 2010 - 18:42) писал:

это же всего лишь запросы в исходниках переправить... можно вообще в отдельную таблицу записывать кто забанил, кого забанил, когда забанил и по какой причине...
как исправить не подскажешь?

Просмотр сообщениябодрыч (10 Ноябрь 2010 - 18:37) писал:

тогда уж и киклист...
+1

#5 Алекс33

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

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

Отправлено 10 Ноябрь 2010 - 19:13

Как было сказано выше, можно создать отдельные таблицы в базе, поправить исходники, в том числе сами команды бана и кика + в классе DBChat. Далее правим команды !киклист и !банлист.
А можно просто, взять и довольствоваться командами !кикист и !банист.

#6 бодрыч

    Специалист

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

Отправлено 10 Ноябрь 2010 - 20:14

меня лично устраивает всё...

#7 _MasteR_

    Профи

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

Отправлено 10 Ноябрь 2010 - 20:17

Просмотр сообщенияАлекс33 (10 Ноябрь 2010 - 19:13) писал:

Как было сказано выше, можно создать отдельные таблицы в базе, поправить исходники, в том числе сами команды бана и кика + в классе DBChat. Далее правим команды !киклист и !банлист.
А можно просто, взять и довольствоваться командами !кикист и !банист.
Если это уже было сказано выше,то зачем повторять то?

#8 бодрыч

    Специалист

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

Отправлено 10 Ноябрь 2010 - 20:18

Просмотр сообщенияGraf (10 Ноябрь 2010 - 18:51) писал:

как исправить не подскажешь?


а самому попытаться никак?)))
в исходниках куча примеров(если ты sql плохо знаешь)...
и вообще...
пытайтесь хоть что-то сами сделать, прежде чем сюда писать...)

#9 Алекс33

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

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

Отправлено 10 Ноябрь 2010 - 20:19

Просмотр сообщенияassassins4 (10 Ноябрь 2010 - 20:17) писал:

Если это уже было сказано выше,то зачем повторять то?
Смысл был в том, что я указал, что и где ещё придётся поправить.

#10 бодрыч

    Специалист

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

Отправлено 10 Ноябрь 2010 - 20:25

вот такую табличку в бд например...
  CREATE TABLE `banlist` (
 `id` int(11) NOT NULL,
 `user_id` int(11) NOT NULL,   --- кто
 `user_id2` int(11) NOT NULL,   --- кого
 `text` text(200) NOT NULL,   --- причина бана
 `time` TIMESTAMP NOT NULL DEFAULT '0000-00-00 00:00:00',   --- время
 PRIMARY KEY  (`id`)
 ) ;

и заносить уже данные не в логи, а сюда...
при выпуске из бана удалять строку с указанным user_id2

#11 ~ёМАё~

    Профи

  • Специалисты
  • PipPipPipPipPip
  • 817 сообщений
  • ГородТамбовская обл.

Отправлено 10 Ноябрь 2010 - 21:17

вот пример как заносить и удалять данные для вышеописанной таблицы
в UserWork
    /**
     * Добавить в банлист
     * @param user_id
     * @param user_id2
     * @param text
     * @param time
     */

   public void Addbanlist(String user_id, String user_id2, String text,long time) {
   try {
   int id =(int)db.getLastIndex("banlist");
   PreparedStatement pst = (PreparedStatement) db.getDb().prepareStatement("insert into banlist values(?, ?, ?, ?, ?)");
   pst.setInt(1,id);
   pst.setString(2,user_id);
   pst.setString(3,user_id2);
   pst.setString(4,text);
   pst.setLong(5,time);
   pst.execute();
   pst.close();
   }catch (Exception ex) {
   ex.printStackTrace();
   }
   }
   
    /**
     * Удалить из банлиста
     * @param user_id2
     */
    public void delbanlist(String user_id2){
    db.executeQuery("delete from banlist WHERE user_id2=" + user_id2);
    }
в ChatCommandProc
        srv.us.Addbanlist(adm_uin, uid, m, System.currentTimeMillis());//добавить в банлист
        srv.us.delbanlist(uid);//удалить из банлиста

пример показал дальше доработать можно ;)

Сообщение отредактировал ~ёМАё~: 10 Ноябрь 2010 - 21:26


#12 scano

    Профи

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

Отправлено 11 Ноябрь 2010 - 19:43

Не легче создать имитированный запуск команд "кикист", "банист" и т.д., после подключения чата к сети? И к тому же не придётся переписывать киклист/банлист и устанавливать дополнительные действия.

Сообщение отредактировал scano: 11 Ноябрь 2010 - 19:46


#13 Graf

    Профи

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

Отправлено 11 Ноябрь 2010 - 19:50

Просмотр сообщенияscano (11 Ноябрь 2010 - 19:43) писал:

Не легче создать имитированный запуск команд "кикист", "банист" и т.д., после подключения чата к сети? И к тому же не придётся переписывать киклист/банлист и устанавливать дополнительные действия.
Cолидарен с тобой, уже занялся этим делом

#14 Graf

    Профи

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

Отправлено 11 Ноябрь 2010 - 21:13

Пытаюсь сделать , но что то не получается((
Скрытый текст

Помогите доделать

#15 scano

    Профи

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

Отправлено 11 Ноябрь 2010 - 21:42

Graf, позже скину код, который будет запускаться при подключении чата к сети, этот код - является имитатором запуска кикист...Я лишь образец скину, а дальше сам ;)

#16 бодрыч

    Специалист

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

Отправлено 12 Ноябрь 2010 - 01:20

объясните нубу, о чем вы xD

#17 ~ёМАё~

    Профи

  • Специалисты
  • PipPipPipPipPip
  • 817 сообщений
  • ГородТамбовская обл.

Отправлено 12 Ноябрь 2010 - 02:18

Просмотр сообщениябодрыч (12 Ноябрь 2010 - 01:20) писал:

объясните нубу, о чем вы xD
тоже не вкурил для чего нужен "имитатор запуска кикист"

Просмотр сообщенияGraf (11 Ноябрь 2010 - 21:13) писал:

Пытаюсь сделать , но что то не получается((
Скрытый текст

Помогите доделать
возможно ошибка из за того, что sn это текстовое поле.. значит и получать надо его как текстовое значение setString(2).. хотя не факт не проверял но так думаю будет правильнее))
и помоему там не if(rs.next()){ надо, а вот так
         while(rs.next()){
               s += "Пользователь: |" + rs.getInt(1) + "|" + rs.setString(2) + "|" + rs.getInt(3) + "; n";
            }
       rs.close();
       pst.close();

Сообщение отредактировал ~ёМАё~: 12 Ноябрь 2010 - 02:33


#18 Graf

    Профи

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

Отправлено 12 Ноябрь 2010 - 16:54

Просмотр сообщения~ёМАё~ (12 Ноябрь 2010 - 02:18) писал:

тоже не вкурил для чего нужен "имитатор запуска кикист"

возможно ошибка из за того, что sn это текстовое поле.. значит и получать надо его как текстовое значение setString(2).. хотя не факт не проверял но так думаю будет правильнее))
и помоему там не if(rs.next()){ надо, а вот так
         while(rs.next()){
               s += "Пользователь: |" + rs.getInt(1) + "|" + rs.setString(2) + "|" + rs.getInt(3) + "; n";
            }
       rs.close();
       pst.close();
проверил не работает, правда поставил getString а не сетстринг

#19 Graf

    Профи

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

Отправлено 12 Ноябрь 2010 - 17:11

Пробовал и так
Скрытый текст
все равно не работает(

#20 scano

    Профи

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

Отправлено 12 Ноябрь 2010 - 17:23

Цитата

объясните нубу, о чем вы xD
Проблемы с выводом списка кикнутых пользователей - они показываются пустыми.
Решение: надо запустить историю кика, а следом запустить команду вывода списка кикнутых, так же и с системой бана. А то что я предлагаю, это с имитировать запуск истории кика после подключения чата к сети, это один из выходов из данной проблемы...





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

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