python制作机器人的实现方法

 更新时间:2021年06月17日 08:45:23   作者:川川菜鸟  
机器人自动回复在很多场景中都可以用的上,本文主要介绍了python制作机器人的实现方法,具有一定的参考价值,感兴趣的小伙伴们可以参考一下

是否也像拥有自己的机器人呢?

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

不挨个展示了。
比如说你想实现一个夸人的功能:

"""
作者:川川
时间:2021/4/6
"""

from nonebot.adapters.cqhttp import Message, PokeNotifyEvent,Bot
from nonebot import on_notice
import warnings
from nonebot.permission import *
import requests
warnings.filterwarnings("ignore")
from aiocqhttp.exceptions import Error as CQHttpError
poke = on_notice()


@poke.handle()
async def _(bot: Bot, event: PokeNotifyEvent):
    if event.is_tome() and event.user_id != event.self_id:
        msg=await kua()
        chuo = f"[CQ:tts,text={msg}]"
        try:
            await poke.send(Message(f'{Message(chuo)}'))
        except CQHttpError:
            pass

async def kua():
    url = 'https://chp.shadiao.app/api.php'
    resp = requests.get(url)
    return resp.text

在这里插入图片描述

或者你也想机器人发送美女图片:

"""
作者:川川
时间:2021/5/5
"""
from nonebot.adapters.cqhttp import Message
from nonebot import on_keyword,on_notice
from nonebot.typing import T_State
from nonebot.adapters import Bot, Event
import requests, re
from aiocqhttp.exceptions import Error as CQHttpError
from nonebot.adapters.cqhttp import message,GroupMessageEvent,Message,MessageEvent
from nonebot.typing import T_State
from nonebot.permission import SUPERUSER
yulu = on_keyword({'涩图'},priority=10)
@yulu.handle()
async def j(bot: Bot, event:message, state: T_State):
    msg = await mei()
    try:
        await yulu.send(Message(msg))
    except CQHttpError:
        pass


async def mei():
    url = 'https://api.66mz8.com/api/rand.img.php?type=美女&format=json'
    resp = requests.get(url)
    data = resp.json()
    ur = data.get('pic_url')
    tu = f"[CQ:image,file={ur}]"
    return tu

在这里插入图片描述

再或者你想要机器人每天定时给你发天气预报:

"""
作者:川川
时间:2021/5/10
"""
from nonebot import require
import nonebot
import requests
scheduler = require('nonebot_plugin_apscheduler').scheduler

@scheduler.scheduled_job('cron', hour='12',minute='08', id='sleep4')
async def co():
    # d = time.strftime("%m-%d %H:%M:%S", time.localtime())
    url = 'http://apis.juhe.cn/simpleWeather/query?city=上海&key=a8b3dd5052f0e3e2dff14175165500d6'
    data = requests.get(url=url, timeout=5).json()
    # to=resp['result']['future'][0]
    t = "时间:" + data['result']['future'][0]['date']
    w = "温度:" + data['result']['future'][0]['temperature']
    e = "天气:" + data['result']['future'][0]['weather']
    f = "风向:" + data['result']['future'][0]['direct']

    a = "时间:" + data['result']['future'][1]['date']
    b = "温度:" + data['result']['future'][1]['temperature']
    c = "天气:" + data['result']['future'][1]['weather']
    g = "风向:" + data['result']['future'][1]['direct']
    tu=str(t + '\n' + w + '\n' + e + '\n' + f + '\n\n\n' + a + '\n' + b + '\n' + c + '\n' + g)

    bot = nonebot.get_bots()['1786691956']
    return await bot.call_api('send_msg', **{
        'message': '天气预报:\n{}'.format(tu),
        'user_id': '2835809579'
    })

在这里插入图片描述

当然也有bot源码:

#!/usr/bin/env python3
# -*- coding: utf-8 -*-

import nonebot
from nonebot.adapters.cqhttp import Bot as CQHTTPBot
# Custom your logger
# 
# from nonebot.log import logger, default_format
# logger.add("error.log",
#            rotation="00:00",
#            diagnose=False,
#            level="ERROR",
#            format=default_format)

# You can pass some keyword args config to init function
nonebot.init()
app = nonebot.get_asgi()

driver = nonebot.get_driver()
driver.register_adapter("cqhttp", CQHTTPBot)
nonebot.load_builtin_plugins()
nonebot.load_from_toml("pyproject.toml")
# Modify some config / config depends on loaded configs
# 
# config = driver.config
# do something...


if __name__ == "__main__":
    nonebot.logger.warning("Always use `nb run` to start the bot instead of manually running!")
    nonebot.run(app="__mp_main__:app")

当然还有一些配置文件源码,我觉得可能没有多的必要继续发,新手可能看不懂了。大概就
似乎群友玩得挺嗨!

在这里插入图片描述

到此这篇关于python制作机器人的实现方法的文章就介绍到这了,更多相关python 机器人内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • 在pycharm上mongodb配置及可视化设置方法

    在pycharm上mongodb配置及可视化设置方法

    今天小编就为大家分享一篇在pycharm上mongodb配置及可视化设置方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2018-11-11
  • Python基础教程之Matplotlib图形绘制详解

    Python基础教程之Matplotlib图形绘制详解

    Matplotlib是一个广泛使用的数据可视化库,提供了丰富的绘图功能,用于创建各种类型的静态、动态和交互式图形,本文将通过多个例子给大家详细介绍一下Python的Matplotlib图形绘制,需要的朋友可以参考下
    2023-07-07
  • Python实现保证只能运行一个脚本实例

    Python实现保证只能运行一个脚本实例

    这篇文章主要介绍了Python实现保证只能运行一个脚本实例,本文直接给出实现代码,需要的朋友可以参考下
    2015-06-06
  • 如何解决MNIST数据集下载速度较慢并失败的问题

    如何解决MNIST数据集下载速度较慢并失败的问题

    这篇文章主要介绍了如何解决MNIST数据集下载速度较慢并失败的问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2024-06-06
  • Python使用MongoDB运算符进行数据查询详解

    Python使用MongoDB运算符进行数据查询详解

    MongoDB 是一个非关系型数据库,具有灵活的数据模型和丰富的查询功能,本文将介绍在 Python 中使用 MongoDB 运算符进行数据查询的常用方法,需要的可以参考下
    2024-04-04
  • Python3.6简单反射操作示例

    Python3.6简单反射操作示例

    这篇文章主要介绍了Python3.6简单反射操作,结合实例形式分析了Python3反射的概念、原理、相关操作技巧与注意事项,需要的朋友可以参考下
    2018-06-06
  • Python使用random.shuffle()随机打乱字典排序

    Python使用random.shuffle()随机打乱字典排序

    本文主要介绍了Python使用random.shuffle()随机打乱字典排序,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2022-08-08
  • Python基于PycURL实现POST的方法

    Python基于PycURL实现POST的方法

    这篇文章主要介绍了Python基于PycURL实现POST的方法,涉及Python实现curl传递post数据的技巧,具有一定参考借鉴价值,需要的朋友可以参考下
    2015-07-07
  • Python排序算法之堆排序算法

    Python排序算法之堆排序算法

    堆排序看字面意思是一种排序方法,那堆是什么呢?堆是一个近似完全二叉树的结构,并同时满足堆积的性质。其实堆排序是指利用堆这种数据结构所设计的一种排序算法。
    2023-01-01
  • 解决python3 整数数组转bytes的效率问题

    解决python3 整数数组转bytes的效率问题

    这篇文章主要介绍了解决python3 整数数组转bytes的效率问题,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2021-03-03

最新评论