2014-07-03 42 views
0

運行chatango機器人。
我試圖讓機器人打印:
(in order) time, name, access level, body.Chatango Chaning時間

例子:
01:02:03 Jan 7th 2014 - YouColdYet(4): Something Something Something

當前代碼:

def onMessage(self, room, user, message): 
    print(user.name+":"+message.body) 
    print("User Access Level: %s" % self.rank(user)) 

我不喜歡它多行,因爲它吃了空間。 self.rank來自訪問模塊,所以它的工作原理,它只是讓它與其他人合作,在同一行上打印。

我能夠使它與時間模塊asc一起工作,但它不會計算每條消息,只是發佈相同的時間。所以它看起來像:

youcoldyet: whatever 
User Access Level: 4 
Current Time: Always the same 
youcoldyet: something something 
User Access Level: 4 
Current Time: Always the same 

所有的反饋是歡迎。

+0

對不起,究竟是你的問題? – jonrsharpe

+0

獲取時間模塊,訪問等級,名稱和消息正文在同一行上。再加上一段時間,%H%M%S%M%D%Y,並隨每個打印更改,因爲asc不會(對不起很多錯別字從滯後) 也謝謝編輯傑裏!非常感激。 – user3745348

+0

你想把它全部打印在一行上? –

回答

1

我想你想的是一樣的東西:

from datetime import datetime 

def on_message(self, room, user, message): 
    template = "{0} - {1.name}({1.rank}): {2.body}" 
    timetemp = "%H:%M:%S %b %d %Y" 
    print(template.format(datetime.strftime(datetime.now(), # or 'message.time'? 
              timetemp), 
          user, message)) 

使用虛擬對象的演示:

>>> class Dummy(object): 
    pass 

>>> user = Dummy() 
>>> user.name = "YouColdYet" 
>>> user.rank = 4 
>>> message = Dummy() 
>>> message.body = "Something Something Something" 
>>> on_message(None, None, user, message) 
10:53:48 Jul 03 2014 - YouColdYet(4): Something Something Something 
+0

謝謝!部分做到了,其餘的我和我的朋友一起想了! – user3745348