咕谷瞎折腾笔记(2)-折腾TG机器人

无聊在家(生病)又开始折腾Telegram

用Python折腾出来一个Tg解析网易云的一个超简单机器人,然而止支持一种链接格式 不想写代码而且名字也不能更改。

在机器人方面用的telepot这个库

然而已经停止更新了

音乐解析方面用的api 网上找的懒得自己搭建


首先呢是检测用户发送的消息

咕谷瞎折腾笔记(2)-折腾TG机器人插图

如果是链接的话进一步解析

咕谷瞎折腾笔记(2)-折腾TG机器人插图1
id=后面这一部分
咕谷瞎折腾笔记(2)-折腾TG机器人插图2

你可能要问 为什么要加一条替换字符的代码,因为不替换掉解析url的话后面就不解析了 ()(),所以我才怎么淦

接下来就是调用我网上找的一个api获取到音乐链接

咕谷瞎折腾笔记(2)-折腾TG机器人插图3

然后再发给音乐给用户(

咕谷瞎折腾笔记(2)-折腾TG机器人插图4

完整代码

import telepot
import time
from telepot.loop import MessageLoop
from pprint import pprint
import json
import requests
import urllib.parse


bot = telepot.Bot('你的机器人的token')

def music_url(muid): #获取音乐URL

    url = 'https://api.imjad.cn/cloudmusic/?id='+ muid + '&type=song'

    headers = {
        'user-agent': 'Mozilla/5.0 (Windows 10; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/82.0.6487.162 Safari/537.36',
    }

    r = requests.get(url, headers=headers)  
    music = json.loads(r.text)            
    musicurl = music["data"]
    musicurl11 = json.dumps(musicurl[0])
    music = json.loads(musicurl11) 
    alll_music = music["url"]
    return alll_music

def music_tel(muuid): #获取音乐名字

    url = 'https://api.imjad.cn/cloudmusic/?id='+ muuid + '&type=detail'

    headers = {
        'user-agent': 'Mozilla/5.0 (Windows 10; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/82.0.6487.162 Safari/537.36',
    }

    r = requests.get(url, headers=headers)  
    music = json.loads(r.text)            
    musicurl = music["songs"]
    musicurl11 = json.dumps(musicurl[0])
    music = json.loads(musicurl11) 
    alll_music = music["name"]
    return alll_music

def wyy_url(msg_url): #检测网易云音乐网址
    copy_text = msg_url
    copy_ok = "https://music.163.com/#/song?id=" in copy_text
    if copy_ok == True:
        return "检测到网易云音乐网址"
    else:
        return "未检测到网易云音乐网址"

def wyy_ok(msg_url): #返回布尔数值
    copy_text = msg_url
    copy_ok = "https://music.163.com/#/song?id=" in copy_text
    return copy_ok

def musicurl_id(url_msg): #解析URl
    ok_url = url_msg.replace('#','xx') 
    music = urllib.parse.urlparse(ok_url)
    no_muid = urllib.parse.parse_qs(music.query)  # 使用urllib.parse.parse_qs提取请求参数,返回字典
    zd_music = no_muid['id'] #提取
    musicid = zd_music[0] #提取id
    return musicid


def handle(msg): #机器人主要程序
    #pprint(msg)
    chat_id = msg['chat']['id']
    from_id = msg['from']['id']
    msg_url = msg['text']
    
    text = wyy_url(msg_url)
    url_ok = wyy_ok(msg_url)
    bot.sendMessage(chat_id, text)

    if url_ok == True:
        music_iid = musicurl_id(str(msg_url))
        music_okkk = music_url(music_iid)
        title = music_tel(music_iid)
        bot.sendMessage(chat_id, "正在解析")
        bot.sendAudio(chat_id,music_okkk,title)
        bot.sendMessage(chat_id, "发送完成")
    
   
MessageLoop(bot, handle).run_as_thread()
print("正在运行")

while 1:
    time.sleep(5)
暂无评论

发送评论 编辑评论

|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗㆆ)
😂
😀
😅
😊
🙂
🙃
😌
😍
😘
😜
😝
😏
😒
🙄
😳
😡
😔
😫
😱
😭
💩
👻
🙌
🖕
👍
👫
👬
👭
🌚
🌝
🙈
💊
😶
🙏
🍦
🍉
😣
Source: github.com/k4yt3x/flowerhd
颜文字
Emoji
小恐龙
花!
上一篇