Все плагины для FreQ - Форум
Воскресенье, 20.05.2012, 21:27
Приветствую Вас Гость | RSS
Главная | Все плагины для FreQ - Форум | Регистрация | Вход
[ Новые сообщения · Участники · Правила форума · Поиск · RSS ]
Страница 1 из 11
Форум » Jabber » Плагины - freQ bot » Все плагины для FreQ (собственые или модифицированные плагины для бота FreQ)
Все плагины для FreQ
4atmen Дата: Воскресенье, 07.02.2010, 21:10 | Сообщение # 1
Лейтенант
Группа: Заблокированные
Сообщений: 46
Репутация: -9999
Статус: Offline
Плагин хтобыл
40tman.: хтобыл
[17:53:03]
FreQ111: 40tman.: Я здесь видел 7 юзеров:
ПЛЮХ; dsc81; Bbс; Лапулька; honda206; 40tman.; FreQ111;

выложить в src/plugins/любая папка

Прикрепления: who_join.rar(1Kb)
 
4atmen Дата: Вторник, 09.02.2010, 00:52 | Сообщение # 2
Лейтенант
Группа: Заблокированные
Сообщений: 46
Репутация: -9999
Статус: Offline
в архиве болталка,фильтр длинных сообщений и ников, ну и плага невидимой зачистки.
установка и команды в файле хелп.
Прикрепления: freq_plugins.rar(13Kb)
 
40tman Дата: Воскресенье, 06.05.2012, 21:51 | Сообщение # 3
Лейтенант
Группа: Пользователи
Сообщений: 54
Репутация: 5
Статус: Offline
Давно не постил в эту тему.
ТАк вот.
Сделал интерпретацию онлайн игры мафия для фрек, на этом думаю все на закончится, ну а пока вот:
Code
#!/usr/bin/env python
# -*- coding: utf8 -*-

import random
import threading
import time

RBOT = []

MAFIA_REMOTE = {}

MF_GET_RES = {}

def mr_send(to, body, id, ns):
     message = domish.Element(('jabber:client','message'))
     message["to"] = jid.JID(to).full()
     message["type"] = "chat"
     message["id"] = id
     message.addElement("body", "jabber:client", "[no text]")
     message.addElement('x', ns, body)
     reactor.callFromThread(bot.wrapper.x.send, message)

def mafia_get_info():
     if RBOT:
         for x in RBOT:
             mr_send(x, u'info',u'1',u'none@tld:x:public')

def mafia_url_get_jid():
     time.sleep(1.5)
     for x in [u'http://mafiozo.in/mafia.txt',u'http://talisman.wen.ru/mafia.txt']:
         try:
             import urllib2
             req = urllib2.Request(x)
             r = urllib2.urlopen(req)
             page = r.read().splitlines()
             if page:
                 for c in page:
                     c=c.strip()
                     if not c in RBOT and c.count('@'):
                         RBOT.append(c)
         except: pass

      
def hnd_mafia(t, s, p):
     global MAFIA_REMOTE
     global RBOT
     global MF_GET_RES
      
     jid = s.realjid
     nick = s.nick
     rep = ''
      
     if not nick:
         nick = jid.split('@')[0]
      
     if jid in MAFIA_REMOTE.keys() and not p:
         mr_send(MAFIA_REMOTE[jid]['bot'],'1','off',jid+':x:public')
         del MAFIA_REMOTE[jid]
         s.msg(t, u'Ок. Вы вышли из Игры!')
         return
     if p.isdigit() and int(p) in range(1, 9):
         if int(p) in MF_GET_RES:
             private = s.jid
             MAFIA_REMOTE[jid]={'bot':MF_GET_RES[int(p)]['jid'], 'private':private}
             mr_send(MF_GET_RES[int(p)]['jid'],'1234','1',jid+':x:'+nick)
             return
         else:
             s.msg(t, u'Партия с таким номером не найденa!')
             return
     if not RBOT:
         s.msg(t, u'При загрузке не удалось получить JID-ы игровых ботов! Повторите попытку через минуту!')
         mafia_url_get_jid()
         return
      
     MF_GET_RES.clear()
     mafia_get_info()
     tt = time.time()
      
     while not MF_GET_RES and time.time() - tt<5.5:
         time.sleep(1)
         pass
      
     if not MF_GET_RES:
         s.msg(t, u'Извините, на данный момент сервер недоступен!')
         return
      
     for x in MF_GET_RES.keys():
         try: rep+=str(x)+'. '+MF_GET_RES[x]['body']+'\n'
         except: pass
      
     s.msg(t, u'Было найдено ('+str(len(MF_GET_RES))+u') партий:\n'+rep+u'\nВыберите номер партии, например:\n .mafia 1')
     
      
def maf_message(xs):
     global MAFIA_REMOTE
     global RBOT
     global MF_GET_RES

     threading.Thread(None, mafia_user, 'thread_'+str(random.randrange(1,111)),(xs,)).start()
      
     body, p, ns, jid = '','','',''

      
     for e in xs.elements():
         if e.name == "body": p = e.__str__()

     if p != u'[no text]': return
      
     for e in xs.elements():
         if e.name == "x":
             body=e.__str__()
             ns=e.uri.__str__()

     try: id = xs['id']
     except: id = '1'
      
     try: jid = xs['from'].split('/')[0]
     except: pass

     if not jid in RBOT: return

     sp = ns.split(':')
     jj = sp[0]
      
     if id==u'info':
         i=len(MF_GET_RES)+1
         MF_GET_RES[i] = {'jid':jid, 'body':body}
         return
     if id in [u'game_over',u'end']:
         MAFIA_REMOTE.clear()
         return
     if id==u'vcard':
         try:
             pass
         except: pass
         return
     if sp[0] in MAFIA_REMOTE.keys():
         jj = MAFIA_REMOTE[sp[0]]['private']
         bot.muc.msg('chat', jj, body)
      

def mafia_user(xs):
     p = None
     for e in xs.elements():
         if e.name == "body": p = e.__str__()
          
     if not p or p.split()[0].lower() in [x[1] for x in bot.cmdhandlers]: return
     jid = None
     try: jid = xs['from'].split('/')[0]
     except:pass
      
     if jid in MAFIA_REMOTE.keys():
         mr_send(MAFIA_REMOTE[jid]['bot'], p, str(random.randrange(1,222)), jid+':x:public')
      

bot.register_cmd_handler(hnd_mafia, '.mafia')
mafia_url_get_jid()

def register_hnd_mm():
     while not hasattr(bot.wrapper.x,'addObserver'):
         time.sleep(1)
         pass
     time.sleep(1)
     bot.wrapper.x.addObserver('/message', maf_message)

threading.Thread(None, register_hnd_mm, 'thread_'+str(random.randrange(1,10))).start()

if not os.path.exists('doc/help/mafia-ru.txt'):
     try:
         fp=open('doc/help/mafia-ru.txt','w')
         fp.write("""muc  
  Психологическая онлайн игра мафия! Игра происходит через сеть игровых ботов,
  поэтому участвовать в ней могут юзеры из разных конференций и протоколов!
  http://ru.wikipedia.org/wiki/Мафия_(игра) """)
         fp.close()
     except: pass

http://upwap.ru/2280647

файл кидать в папка_с_ботом(freq)/src/plugins/muc

Добавлено (06.05.2012, 21:51)
---------------------------------------------
some_user @ 18:23:39

.mafia

бот @ 18:23:39

Было найдено (2) партий:
1. Город Зомби

2. Город Голодных Троллей
some_user
Механик

Выберите номер партии, например:
.mafia 1

Прикрепления: mafia.rar(2Kb)
 
Форум » Jabber » Плагины - freQ bot » Все плагины для FreQ (собственые или модифицированные плагины для бота FreQ)
Страница 1 из 11
Поиск:

Copyright Gigabyte © 2012
Создать сайт бесплатно