我對Python相當陌生,但對編程並不陌生。基本上,我試圖調用某些函數/程序來模擬基於來自IRC頻道的用戶輸入的鍵盤/鼠標。試圖根據IRC用戶輸入調用函數
我正在Twitch上運行一個IRC bot,就像一個抽搐玩類似的事情。我知道如何模擬鍵盤和鼠標輸入,但我很難找出如何有效地做到這一點。
我對機器人的類,它開始像:
class bot:
def __init__(self):
...
login stuff
...
self.options = {'!test': self.command_test,
'q': self.quickSave,
'f': self.forward,
'ff': self.forward2,
'fff': self.forward3
}
...
,然後同時機器人解析IRC聊天輸入,像這樣的功能被稱爲:
def parse_message(self, msg):
if len(msg) >= 1:
msg = msg.split(' ')
if msg[0] in self.options:
self.options[msg[0]]()
我有一個負載只有重複的功能基本相同。 (前進,前進2,前進3,左邊,左邊2,左邊3等)。一遍又一遍地重複相同的功能是沒有意義的。我無法弄清楚如何有效地調用這些功能,如前(1),前(2),前鋒(3)等
,我想我的代碼看起來像這樣:
def forward(self, num):
for x in range(1, num):
#Simulate walking forward
我只是不能弄清楚如何使用簡單的文本輸入將參數添加到forward()。這很難解釋,只要想象一下,有100人投票移動/瞄準IRC頻道的視頻遊戲。
再次,我不是要求幫助模擬鼠標/鍵盤輸入。我只需要關於如何使用文本來調用函數的建議。
如果它幫助你理解,我試圖croudplay輻射4
那麼,命令並不總是限制爲一個字符。例如,有快速保存(qs),quickload(ql),轉動45度,90度。只有一些命令可以像這樣迭代;然而,這個答案會對很多移動命令有所幫助,謝謝。 –
這實際上解決了我的問題。至少在測試階段:[pastebin](http://pastebin.com/AyPd0xLT) –
@WillPile,這是個好消息,我很高興它的工作!要處理長度超過一個字符的命令,可以實現一些簡單的解析:例如,如果當前字符是「q」,則嘗試檢索下一個字符。如果它是''''或'l'提取並用作鍵,否則只提取當前字符。 – ForceBru