我目前有一个skypebot,当我使用以下代码时,它会回复命令并ping网站:
if Status == 'SENT' or (Status == 'RECEIVED'):
if Message.Body.lower() == '!ping google':
ping = os.system("ping google.com")
if ping == 0:
Message.Chat.SendMessage("Online!")
else:
Message.Chat.SendMessage('Offline!')这是有效的,如果网站是在线的,它将显示在线!在聊天中。然而,这需要我事先定义网站。我现在已经搜索了好几个小时,试图找到我将如何做到这一点,所以我可以做!平网站,并允许用户在任何时候使用他们想要的任何网站。有什么想法吗?
发布于 2013-06-09 02:46:09
我会这样做:
body = Message.Body
if body.startswith('!'):
parts = body.split() # ['!ping', 'google.com']
command = parts[0][1:] # 'ping'
result = commands[command](*parts[1:]) # Calls `ping` with 'google.com'
Message.Chat.SendMessage(result) # Prints out the resulting string现在,您可以定义简单的函数:
def ping(url):
if os.system("ping " + url) == 0:
return 'Online!'
else:
return 'Offline!'并将它们添加到命令字典中:
commands = {
'ping': ping
}如果你想要任意的用户输入,os.system()是不安全的,所以我会使用subprocess.Popen (或者只是尝试用Python连接到网站)。
https://stackoverflow.com/questions/17002625
复制相似问题