Python IRC / Skype Bridge垃圾邮件

时间:2015-01-20 02:58:22

标签: python irc skype skype4py

过去一周左右我尝试了很多方法来尝试让它发挥作用。 我设法让Skype2IRC在另一个脚本中运行,而不是垃圾邮件IRC或其他任何东西。这很好。只需在消息状态,发送消息给IRC。那部分我可以轻松下来。但是,从IRC到Skype的部分是我遇到问题的地方。首先,我想我会尝试使用多线程。没出去好。然后,我尝试了这个;

import os,sys,time,Skype4Py,socket,re,string
from random import choice
s = Skype4Py.Skype()
s.Attach() #Attach to Skype. Make sure to accept permissions from Skype client!
name = "Ibex"
network = "irc.myserver.net"
channel = "#Skype"
port = 6667
irc = socket.socket ( socket.AF_INET, socket.SOCK_STREAM )
irc.connect ( ( network, port ) )
print irc.recv ( 4096 )
irc.send ( 'NICK '+name+'\r\n' )
irc.send ( 'USER '+name+' '+name+' '+name+' : IRC Bot\r\n' )
irc.send ( 'JOIN '+channel+'\r\n' )
ircusername = '' #referencing variable so it can be used before, data will change in while loop
ircmessage = '' #same as above
def Ibex(Message, Status):
    chat = Message.Chat
    members = chat.MemberObjects
    msg = Message.Body
    send = Message.Chat.SendMessage
    sAlias = Message.FromDisplayName
    sUsername = Message.FromHandle
    if Status == 'RECEIVED':
        irc.send ( 'PRIVMSG '+channel+' :<Skype - '+sUsername+'>: '+msg+'\r\n' )
    if ircusername != '':
        try:
            ircmessage = data.split(channel+" :",1)[1]
            send("<IRC - "+ircusername+">: "+ircmessage)
        except:
            print "Error getting new IRC message."
s.OnMessageStatus = Ibex
while True:
    data = irc.recv ( 4096 )
    print data
    if data.find ( 'PING' ) != -1:
        irc.send ( 'PONG ' + data.split() [ 1 ] + '\r\n' )
    if data.find ( 'KICK' ) != -1:
        irc.send ( 'JOIN '+channel+'\r\n' )
    try:
        ircusername = re.search(':(.*)!', data)
        ircusername = ircusername.group(1)
    except:
        pass
经过大量的反复试验。并且,在IRC和Skype中有很多垃圾邮件,我设法将此邮件发送到Skype。 然而,它是垃圾邮件。

我会在IRC发送一条消息,什么都不会发生。 我将在Skype中发送一条消息(因此s.OnMessageStatus = Ibex)并按预期发送IRC消息。但是,它不会停止发送它。它就像疯了一样蹦蹦跳跳。我尝试过收到消息时设置sendMSG = True,发送后将sendMSG设置为false,然后sendMSG = true,然后发送。这似乎没有成功。

有人有什么建议吗?我只是遗漏了一些导致此错误的小事吗?感谢先进的任何人,这一直困扰着我一段时间。

我设法让一个旧的IRC / Skype网桥工作了一段时间,但那个剧本早已不复存在,我不记得我是怎么做到的。

0 个答案:

没有答案