首页 文章

如何使用python IRC bot接收文件?

提问于
浏览
3

我从以下示例代码中在python中创建了一个半功能的IRC bot:

import socket
import time
import random
import os

def stringToBytes(s):
    blit = ""
    for char in s:
        blit += char
    return bytes(blit, "UTF-8")

server = "irc.irchighway.net"  # settings
channel = "#ebooks"
botnick = "NoobBot"

irc = socket.socket(socket.AF_INET, socket.SOCK_STREAM)  # defines the socket

irc.connect((server, 6667))  # connects to the server
irc.send(stringToBytes("USER " + botnick + " " + botnick + " " + botnick + " :This is a fun bot!\n"))  # user authentication
irc.send(stringToBytes("NICK " + botnick + "\n"))  # sets nick
irc.send(stringToBytes("PRIVMSG nickserv :iNOOPE\r\n"))  # auth
time.sleep(4)
irc.send(stringToBytes("JOIN " + channel + "\n"))  # join the channel
irc.send(stringToBytes("PRIVMSG #ebooks @search save the cat\r\n")) 

while 1:  # puts it in a loop
    text = irc.recv(2040)  # receive the text
    text2 = str(text)[2:]
    text3 = text2.split(":")
    print(text3)

就像测试一样,这些功能是在电子书 Channels 中搜索“拯救猫”这本书 . 它有效,我在收到的文本日志中显示以下信息:

['','Search!Search@ihw-4q5hcb.dyn.suddenlink.net注意NoobBot','\ x031,9 \ x16 \ x02 <> \ x02 \ x16您搜索“\ x0312,9save the cat \ x031 ,9“已被接受 . 正在搜索... \ r \ n ''] ['','Search!Search @ ihw-4q5hcb.dyn.suddenlink.net注意NoobBot','\ x031,9 \ x16 \ x02 <> \ x02 \ x16您的搜索“\ x0312,9save the cat \ x031,9”返回55个匹配项 . 将结果发送给您\ x0312 SearchBot_results_for_保存cat.txt.zip \ x031,9 . 搜索花了0.33秒 . \ r \ n ''] ['','Search!Search @ ihw-4q5hcb.dyn.suddenlink.net注意NoobBot','DCC发送SearchBot_results_for_保存cat.txt.zip(173.80.26.71 )\ r \ n','Search!Search @ ihw-4q5hcb.dyn.suddenlink.net PRIVMSG NoobBot',“\ x01DCC发送SearchBot_results_for__save_the_cat.txt.zip 2907707975 3107 3966 \ x01 \ r \ n'”]

如果我在mIRC中运行它,我可以单击链接下载文件,但是我没有在本文的任何地方看到指向实际文件的链接 . 我是IRC机器人的新手,所以一个例子会有所帮助 .

我基本上只是想在python中创建自己的小客户端,以便我可以输入搜索,客户端将在发送时下载生成的搜索文本文件 .

任何帮助都非常感谢

1 回答

相关问题