И так. В прошлой статье мы разобрали исходные тексты бота и определили
как проще всего создать свой скрипт "списав" его с конкретного примера в
исходниках. Приступим. view source print? 01.import ru.jimbot.modules.AbstractServer; 02.import ru.jimbot.util.*; 03.import ru.jimbot.modules.chat.*; 04.import ru.jimbot.modules.*; 05. 06.//Установка скрипта как обработчика команды 07.if(in.equals("install")){ 08. cmd.addCommand("!txt", new Cmd("!txt","",39,name)); 09. cmd.addAuth("txtread","Вывод текстового файла"); 10. out="Ok"; 11. return; 12.} 13. 14.// Проверим полномочия 15.if(!cmd.isChat(proc,uin) && !cmd.psp.testAdmin(uin)) return; 16.if(!cmd.auth(proc,uin, "txtread")) return; 17. 18.try{ 19. //Прочитаем текст из файла 20. String s = cmd.psp.loadText("./text/text1.txt"); 21. //Разбиваем текст на куски, в качестве разделителя будет использовате тег <br> 22. String[] ss = s.split("<br>"); 23. //По очереди отсылаем куски текста юзеру, точнее - помещаем их в очередь 24. //исходящих сообщений уина, на котоором этот юзер сидит. 25. for(int i=0;i<ss.length;i++){ 26. proc.mq.add(uin,ss[i]); 27. } 28.} catch (Exception ex) { 29. ex.printStackTrace(); 30. proc.mq.add(uin,"Ошибка "+ex.getMessage()); 31.}
И так, что мы тут видим? Во первых, я указал объект полномочий txtread -
вы естественно придумаете свой, подходящий по смыслу задуманной
команды. И название ей тоже подберете свое. Далее, конструкция try -
catch занимается обработкой исключительных ситуаций в нашем скрипте, то
есть ошибок. Прошу обратить внимание, что я использовал конструкцию
cmd.psp.loadText, а не просто psp.loadText, как это используется в
исходных текстах бота. Причина была указана в предыдущей статье.
Хелп в боте разбивается на части, так сложилось исторически от старых
версий бота. Сейчас бот умеет автоматически разбивать отправляемые
сообщения на куски. Если вас не устраивает как он это делает - вставте в
нужных местах текста символы <br>. В следующей строке происходит
как раз такое преобразование строки в строковый массив. Затем мы видим цикл, перебирающий элементы этого массива, и отправляющий их пользователю, набравшему команду. Вот вобщем то и весь скрипт. В следующий раз попробуем написать чего-нибудь посложнее
|