私は、SMS メッセージについて Google Voice をチェックし、ポート 6667 のソケットを介してそれらをチャットルームにリレーする IRC チャットボットを作成しています。チャット メッセージの処理はメイン サブで無限ループで実行され、GV チェックは別のプロセス。実際のチェックとフェッチは正常に機能しますが、機能しないのはソケットです。メッセージはチャネルに投稿されません。奇妙なことに、これは OS X で問題なく動作するため、音声処理ロジックに問題があるとは思えません。
def checkVoice()
while 1:
print "Update voice!"
#voice processing... edited for brevity
sendPrivateMessage(CHANNEL,message) #This doesn't work
#more code
time.sleep(10)
#main block
if __name__ == '__main__':
sendPrivateMessage(CHANNEL,"Voice checking started") #This works
p = Process(target=checkVoice)
p.start()
問題は、他のプラットフォームで動作することを見て、Windows と Python の関係にあると思いました。
チャットボットの完全なコードは、 bot.pyで確認できます。
尋ねられたように、ここにsendPrivateMessage
方法があります:
def sendPrivateMessage(channel, message):#private message send function
global mute
if mute == 0:
IRC.send("PRIVMSG " + channel + " :" + message + "\r\n")