溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

怎么用python制作機(jī)器人

發(fā)布時(shí)間:2021-06-17 10:10:18 來(lái)源:億速云 閱讀:242 作者:chen 欄目:開(kāi)發(fā)技術(shù)

本篇內(nèi)容介紹了“怎么用python制作機(jī)器人”的有關(guān)知識(shí),在實(shí)際案例的操作過(guò)程中,不少人都會(huì)遇到這樣的困境,接下來(lái)就讓小編帶領(lǐng)大家學(xué)習(xí)一下如何處理這些情況吧!希望大家仔細(xì)閱讀,能夠?qū)W有所成!

是否也想擁有自己的機(jī)器人呢?

怎么用python制作機(jī)器人

怎么用python制作機(jī)器人

怎么用python制作機(jī)器人

怎么用python制作機(jī)器人

不挨個(gè)展示了。
比如說(shuō)你想實(shí)現(xiàn)一個(gè)夸人的功能:

"""
作者:川川
時(shí)間: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

怎么用python制作機(jī)器人

或者你也想機(jī)器人發(fā)送美女圖片:

"""
作者:川川
時(shí)間: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

怎么用python制作機(jī)器人

再或者你想要機(jī)器人每天定時(shí)給你發(fā)天氣預(yù)報(bào):

"""
作者:川川
時(shí)間: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 = "時(shí)間:" + data['result']['future'][0]['date']
    w = "溫度:" + data['result']['future'][0]['temperature']
    e = "天氣:" + data['result']['future'][0]['weather']
    f = "風(fēng)向:" + data['result']['future'][0]['direct']

    a = "時(shí)間:" + data['result']['future'][1]['date']
    b = "溫度:" + data['result']['future'][1]['temperature']
    c = "天氣:" + data['result']['future'][1]['weather']
    g = "風(fēng)向:" + 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': '天氣預(yù)報(bào):\n{}'.format(tu),
        'user_id': '2835809579'
    })

怎么用python制作機(jī)器人

當(dāng)然也有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")

當(dāng)然還有一些配置文件源碼,我覺(jué)得可能沒(méi)有多的必要繼續(xù)發(fā),新手可能看不懂了。大概就
似乎群友玩得挺嗨!

怎么用python制作機(jī)器人

“怎么用python制作機(jī)器人”的內(nèi)容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業(yè)相關(guān)的知識(shí)可以關(guān)注億速云網(wǎng)站,小編將為大家輸出更多高質(zhì)量的實(shí)用文章!

向AI問(wèn)一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI