Суббота, 18.05.2024, 09:35
JimBot Portal by DeadInside
Главная Регистрация Вход
Приветствую Вас, Посетитель · RSS
[ Новые сообщения · Участники · Правила форума · Поиск · RSS ]
  • Страница 1 из 1
  • 1
Модератор форума: Inzhener  
Форум » Разработка » Скрипты JimBot » Сервис мнений о пользователях (Мнения о пользователях для JimBot 0.4.x by DeadInside)
Сервис мнений о пользователях
DeadInsideДата: Среда, 25.08.2010, 08:25 | Сообщение # 1
Координатор сайта
Группа: Администраторы
Сообщений: 76
Репутация: 2
Отсутствует
Сервис мнений адаптированный для JimBot by Fraer72

Название: Сервис мнений о пользователях (адаптировано для сборки fraer72) ( http://forum.jimbot....bot-by-fraer72/ )
Суть: Скрипт позволяет оставить мнения о пользователях/прочитать мнения о пользователях
Авторы: Imda(взят за основу скрипт его сервиса жалоб), DeadInside(редактирование скрипта, адаптация для JimBot by Fraer72)

Инструкция по установке:
1) Создаем в корне бота папку mneniya
2) В \services\ChatBot\scripts\command создадим файл Mnen_add.bsh
3) Зальем в Mnen_add.bsh вот это:

Code
/**
* Скрипт для добавления мнений
* !мнение <id> <text>
*/

import ru.jimbot.modules.AbstractServer;
import ru.jimbot.util.*;
import ru.jimbot.modules.chat.*;
import ru.jimbot.modules.*;

//Установка скрипта как обработчика команды
if(in.equals("install")){
    cmd.addCommand("!мнение", new Cmd("!мнение","$n $s",39,name));
    cmd.addAuth("Mneniya","Сервис мнений");
    out="Ok";
    return;
}

//Создать папку mneniya в корне бота

// Проверим полномочия
if(!cmd.isChat(proc,uin) && !cmd.psp.testAdmin(uin)) return;
if(!cmd.auth(proc,uin, "Mneniya")) return;

try{
    Vector v = cmd.getParser().parseArgs(msg);
    int i = (Integer)v.get(0);
    String pt = (String)v.get(1);
    Users u = cmd.srv.us.getUser(i);
    Users us = cmd.srv.us.getUser(uin);
    OutputStreamWriter ow = new OutputStreamWriter(new FileOutputStream("./mneniya/"+u.id,true),"windows-1251");
    java.sql.Date D = new java.sql.Date(new java.util.Date().getTime());
    ow.write(D+" ["+us.id+"]"+us.localnick+":"+pt+"\n");
    ow.close();
    proc.mq.add(uin,"Мнение о пользователе успешно добавлено!");
} catch (Exception ex) {
     ex.printStackTrace();
     proc.mq.add(uin,"Ошибка "+ex.getMessage());
}

4) Создадим в той же директории файл Mnen_read.bsh
5) Зальем в Mnen_read.bsh следующий скрипт:
Code
/**
* Просмотр мнений.
* !мнения - количество мнений, таблица
* !мнения <id> - мнения юзера
*/

import ru.jimbot.modules.AbstractServer;
import ru.jimbot.util.*;
import ru.jimbot.modules.chat.*;
import ru.jimbot.modules.*;

//Установка скрипта как обработчика команды
if(in.equals("install")){
    cmd.addCommand("!мнения", new Cmd("!мнения","$s",39,name));
    cmd.addAuth("mneniya","Сервис мнений (просмотр)");
    out="Ok";
    return;
}
if(!cmd.isChat(proc,uin) && !cmd.psp.testAdmin(uin)) return;
if(!cmd.auth(proc,uin, "Mneniya")) return;
try{
    Vector v = cmd.getParser().parseArgs(msg);
    String smsg = (String)v.get(0);
    String l;
    if(smsg.equals("")||smsg.equals(" "))
    {
       File pets = new File ("./mneniya/");
       String[] fl = pets.list();         //Список файлов fl
       l = "Мнения о пользователе:\n";            //Начало отчета l
       l += "ID - Количество:"+"\n";         //Добавили в строку ИД, петиции (Заглавие таблицы)
       for(int i=0;i<fl.length;i++)         //Пробегаем все файлы fl[i]
       {                  //
       String ffl = cmd.psp.loadText("./mneniya/"+fl[i]);   //Читаем файл
       String[] sffl = ffl.split("\n");      //Бьем на строки
       l+=fl[i]+" - "+sffl.length+"\n";      //Вписываем в отчет данные
       }

    } else  
       {
       String pl = "./mneniya/"+smsg;
         File g = new File (pl);
         if (g.exists()){
          String s = cmd.psp.loadText("./mneniya/"+smsg);
          l="Мнения о пользователе ["+smsg+"]\n";
          Users u = cmd.srv.us.getUser(smsg);
          l+=s;
         }
         else {
          l="Мнений нет";
         }
       }
proc.mq.add(uin,l);
} catch (Exception ex) {
       ex.printStackTrace();
       proc.mq.add(uin,"Ошибка "+ex.getMessage());
    }

6) Выполним запрос в таблицу help следующего вида:
Code
INSERT INTO `help` ( `id` , `auth` , `command` , `info` ) VALUES ('100', 'Mneniya', '!мнение <id> <text>', 'Оставить мнение о пользователе');
INSERT INTO `help` ( `id` , `auth` , `command` , `info` ) VALUES ('101', 'Mneniya', '!мнение 0 <text>', 'Оставить мнение о чате');
INSERT INTO `help` ( `id` , `auth` , `command` , `info` ) VALUES ('102', 'mneniya', '!мнения', 'Листинг мнений (ид - количество)');
INSERT INTO `help` ( `id` , `auth` , `command` , `info` ) VALUES ('103', 'mneniya', '!мнения <id>', 'Прочесть мнения о пользователе');

7) Перезапускаем бот

Вот вообщем выложил... Может кому пригодится...




С уважением, DeadInside
Dark ICQ-Chat : 555585550
 
DeadInsideДата: Воскресенье, 12.09.2010, 13:52 | Сообщение # 2
Координатор сайта
Группа: Администраторы
Сообщений: 76
Репутация: 2
Отсутствует
upd первого кода: добавлена проверка на наличие текста
Code
/**
* Скрипт для добавления мнений
* !мнение <id> <text>
*/

import ru.jimbot.modules.AbstractServer;
import ru.jimbot.util.*;
import ru.jimbot.modules.chat.*;
import ru.jimbot.modules.*;

//Установка скрипта как обработчика команды
if(in.equals("install")){
    cmd.addCommand("!мнение", new Cmd("!мнение","$n $s",39,name));
    cmd.addAuth("Mneniya","Сервис мнений");
    out="Ok";
    return;
}

//Создать папку mneniya в корне бота

// Проверим полномочия
if(!cmd.isChat(proc,uin) && !cmd.psp.testAdmin(uin)) return;
if(!cmd.auth(proc,uin, "Mneniya")) return;

try{
    Vector v = cmd.getParser().parseArgs(msg);
    int i = (Integer)v.get(0);
    String pt = (String)v.get(1);
    Users u = cmd.srv.us.getUser(i);
    Users us = cmd.srv.us.getUser(uin);
    if (pt.equals("") || pt.equals(" ")) {
              proc.mq.add(uin, "Введите текст мнения! (!мнение <id> <text>)");
              return;
    }
    OutputStreamWriter ow = new OutputStreamWriter(new FileOutputStream("./mneniya/"+u.id,true),"windows-1251");
    java.sql.Date D = new java.sql.Date(new java.util.Date().getTime());
    ow.write(D+" ["+us.id+"]"+us.localnick+":"+pt+"\n");
    ow.close();
    proc.mq.add(uin,"Мнение о пользователе успешно добавлено!");
} catch (Exception ex) {
     ex.printStackTrace();
     proc.mq.add(uin,"Ошибка "+ex.getMessage());
}




С уважением, DeadInside
Dark ICQ-Chat : 555585550
 
Форум » Разработка » Скрипты JimBot » Сервис мнений о пользователях (Мнения о пользователях для JimBot 0.4.x by DeadInside)
  • Страница 1 из 1
  • 1
Поиск: