我正在使用python-slackclient制作一个slackbot。对于每个对话 - 我正在创建一个单独的线程并在其上收听RTM。
但是sc.rtm_read()没有同时运行。它只在main中运行,而不是在线程函数中运行。
import threading
from threading import Thread
from slackclient import SlackClient
import time
token = "xoxb-47823XXXX1-11mYmUuXXXXXXXXXXXXXX"
def other(sc2):
print "other"
while True:
new_evts = sc2.rtm_read()
for evt in new_evts:
print "second"
print evt
if "type" in evt:
if evt["type"] == "message" and "text" in evt:
message=evt["text"]
print message
time.sleep(1)
def main():
sc = SlackClient(token)
if sc.rtm_connect():
t1=Thread(target=other,args=(sc,))
t1.start()
time.sleep(10)
while True:
new_evts = sc.rtm_read()
for evt in new_evts:
print evt
if "type" in evt:
if evt["type"] == "message" and "text" in evt:
message=evt["text"]
print message
time.sleep(1)
main()
现在只有其他人的作品。对于main()我收到错误 - " 错误:[Errno 11]资源暂时不可用 &#34 ;.如何让两个rtm_read()都工作?