温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

Python如何调用两个机器人聊天

发布时间:2021-09-01 14:44:07 来源:亿速云 阅读:178 作者:小新 栏目:开发技术

这篇文章给大家分享的是有关Python如何调用两个机器人聊天的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。

机器人api接口

经过一通百度,找到几个推荐比较多的机器人接口,如下:

天行机器人: 天行机器人, 验证邮箱之后每天可以有100次的免费调用次数,测试用的话够了,不想用自己的邮箱的话,可以找一些临时邮箱(百度一搜一大堆)。

Python如何调用两个机器人聊天

青云客机器人:青云客机器人,这个机器人好像叫菲菲,无所谓,主要可以白嫖,不用登陆,可以直接调用接口。

Python如何调用两个机器人聊天

图灵机器人: 图灵机器人,据说这个挺智能的,但是好像不是免费的哎,19块9,开玩笑,我能有那钱,也可能是我操作有问题,不管了,用前两个了。

调用接口封装机器人

发请求用的是requests库,需要pip install requests进行安装。

天行机器人:

class TXRobot:
    def __init__(self):
        self.api = "http://api.tianapi.com/txapi/robot/index?key={}&question={}"
        self.key = "xxxxxx"  # 填写在官网申请的key

    def chat(self, msg):
        res = requests.get(tx_url.format(self.key, msg)).json()
        content = res["newslist"][0]["reply"]
        return content

注意:我这里self.key设置的假的,这里需要把self.key改成在官网申请的真实的key。
试一下,看看它回复个啥:

tx_robot = TXRobot()
print(tx_robot.chat("你好啊"))
# 您好,{robotname}是{robotname},有什么可以帮您的吗?

青云客机器人:

class QYKRobot:
    def __init__(self):
        self.api = "http://api.qingyunke.com/api.php?key=free&appid=0&msg={}"

    def chat(self, msg):
        res = requests.get(self.api.format(msg)).json()
        content = res["content"]
        return content

同样试一下:

qyk_robot = QYKRobot()
print(qyk_robot.chat("你好啊"))
# 我很好,你呢,你怎么样

好了,两个机器人封装完毕,至少现在看起来,回复的还行,没有特别的智障。接下来,就让它俩对话吧!准备看戏!!!

实现两个机器人聊天

逻辑就是输入第一句话,然后让其中一个机器人回答,然后把它的回答作为消息,让另外一个机器人回答,就这样循环起来。

if __name__ == '__main__':
    msg = input("输入第一句聊天对话:")
    while True:
        tx_robot = TXRobot()
        content = tx_robot.chat(msg)
        print("天行机器人:", content)

        qyk_robot = QYKRobot()
        msg = qyk_robot.chat(content)
        print("青云客机器人:", msg)

Python如何调用两个机器人聊天

青云客机器人有句话深得我心,那就是祖国尚未统一,你居然有还有心情去学习,哈哈哈,说的对啊,全部都把鱼摸起来!!!

聊天文字转语音

既然已经实现了两个机器人聊天了,那能不能实现聊天文字转语音呢,这样就可以听它俩的对话了。找到一个第三方库:pyttsx3,可以使用pip install pyttsx3进行安装,这个库可以把文字转为语音并播放,使用起来也很简单,例如:

import pyttsx3
engine = pyttsx3.init()

engine.say('hello 脚本')
engine.runAndWait()

那么修改一下代码:

if __name__ == '__main__':
    msg = input("输入第一句聊天对话:")
    engine = pyttsx3.init()
    while True:
        tx_robot = TXRobot()
        content = tx_robot.chat(msg)
        print("天行机器人:", content)
        engine.say('天行机器人说:{}'.format(content))
        engine.runAndWait()

        qyk_robot = QYKRobot()
        msg = qyk_robot.chat(content)
        print("青云客机器人:", msg)
        engine.say('青云客机器人说:{}'.format(msg))
        engine.runAndWait()

这样就可以听这两个机器人的对话啦!

感谢各位的阅读!关于“Python如何调用两个机器人聊天”这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,让大家可以学到更多知识,如果觉得文章不错,可以把它分享出去让更多的人看到吧!

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI