Ejemplo n.º 1
0
#   ______          _
#   | ___ \        | |
#   | |_/ /__ _ __ | |_ __ _  ___ ___ _ __   ___
#   |  __/ _ \ '_ \| __/ _` |/ __/ _ \ '_ \ / _ \
#   | | |  __/ | | | || (_| | (_|  __/ | | |  __/
#   \_|  \___|_| |_|\__\__,_|\___\___|_| |_|\___|
#

from asyncio import sleep
from sys import executable
import urllib.request
from telethon.tl.custom.message import Message
from pagermaid.listener import listener
from pagermaid.utils import execute, alias_command, pip_install

pip_install("python-binance", alias="binance")
pip_install("xmltodict")

from binance.client import Client
import xmltodict

API = "https://www.ecb.europa.eu/stats/eurofxref/eurofxref-daily.xml"
CURRENCIES = []
DATA = {}
BINANCE_API_KEY = '8PDfQ2lSIyHPWdNAHNIaIoNy3MiiMuvgwYADbmtsKo867B0xnIhIGjPULsOtvMRk'
BINANCE_API_SECRET = 'tbUiyZ94l0zpYOlKs3eO1dvLNMOSbOb2T1T0eT0I1eogH9Fh8Htvli05eZ1iDvra'


def init() -> None:
    """ INIT """
    with urllib.request.urlopen(API) as response:
Ejemplo n.º 2
0
# -*- coding: utf-8 -*-

import base64
from re import findall
from asyncio import sleep
from os import sep, remove, listdir
from os.path import isfile, exists, getsize
from time import strftime, localtime

from pagermaid import version
from pagermaid.listener import listener
from pagermaid.utils import alias_command, execute, pip_install

pip_install("pyncm")
pip_install("mutagen")

from mutagen.mp3 import EasyMP3
from mutagen.id3 import ID3, APIC
from mutagen.flac import FLAC, Picture
from mutagen.oggvorbis import OggVorbis
from pyncm import GetCurrentSession, apis, DumpSessionAsString, SetCurrentSession, LoadSessionFromString
from pyncm.utils.helper import TrackHelper
from pyncm.apis import LoginFailedException
from pyncm.apis.login import LoginLogout

from telethon.tl.types import DocumentAttributeAudio


def download_by_url(url, dest):
    # Downloads generic content
    response = GetCurrentSession().get(url, stream=True)
Ejemplo n.º 3
0
import json
import requests
from time import sleep
from pagermaid.listener import listener
from os import remove, path
from pagermaid.utils import alias_command, pip_install

pip_install("eyed3")

import eyed3


@listener(is_plugin=True,
          outgoing=True,
          command=alias_command("ns"),
          description="随机网抑云热歌。")
async def ns(context):
    await context.edit("获取中 . . .")
    status = False
    for _ in range(20):  # 最多尝试20次
        req = requests.get(
            "http://api.uomg.com/api/rand.music?sort=%E7%83%AD%E6%AD%8C%E6%A6%9C&format=json"
        )
        if req.status_code == 200:
            req = json.loads(req.content)
            try:
                songid = req["data"]["url"][45:]
                music = req['data']['url']
            except KeyError:
                continue
            headers = {
Ejemplo n.º 4
0
# -*- coding: utf-8 -*-

import base64
from asyncio import sleep
from os import sep, remove, listdir
from os.path import isfile, exists
from time import strftime, localtime

from pagermaid.listener import listener
from pagermaid.utils import alias_command, execute, pip_install

pip_install("pyncm")

from mutagen.mp3 import EasyMP3
from mutagen.id3 import ID3, APIC
from mutagen.flac import FLAC, Picture
from mutagen.oggvorbis import OggVorbis
from pyncm import GetCurrentSession, apis, DumpSessionAsString, SetCurrentSession, LoadSessionFromString
from pyncm.utils.helper import TrackHelper
from pyncm.apis import LoginFailedException
from pyncm.apis.cloudsearch import CloudSearchType
from pyncm.apis.login import LoginLogout

from telethon.tl.types import DocumentAttributeAudio


def download_by_url(url, dest):
    # Downloads generic content
    response = GetCurrentSession().get(url, stream=True)
    with open(dest, 'wb') as f:
        for chunk in response.iter_content(1024 * 2 ** 10):
Ejemplo n.º 5
0
""" Send Msg At A Specified Time. """

# By tg @fruitymelon
# extra requirements: dateparser
import sys, time, traceback
import asyncio
from pagermaid import log, version
from pagermaid.listener import listener
from pagermaid.utils import alias_command, pip_install

pip_install("dateparser")

import dateparser

DAY_SECS = 24 * 60 * 60


def logsync(message):
    sys.stdout.writelines(f"{message}\n")


logsync("sendat: loading... If failed, please install dateparser first.")


# https://stackoverflow.com/questions/1111056/get-time-zone-information-of-the-system-in-python
def local_time_offset(t=None):
    """Return offset of local zone from GMT, either at present or at time t."""
    # python2.3 localtime() can't take None
    if t is None:
        t = time.time()
Ejemplo n.º 6
0
""" PagerMaid Plugin to provide a dictionary lookup. """

from pagermaid import version
from pagermaid.listener import listener
from pagermaid.utils import alias_command, pip_install, obtain_message, client
from telethon.events.newmessage import NewMessage

pip_install("PyDictionary")

from PyDictionary import PyDictionary

dictionary = PyDictionary()


@listener(is_plugin=True,
          outgoing=True,
          command=alias_command("dictionary"),
          description="查询英语单词的意思")
async def get_word_mean(context: NewMessage.Event) -> None:
    """ Look up a word in the dictionary. """
    try:
        word = await obtain_message(context)
    except ValueError:
        await context.edit(
            f"[dictionary] 使用方法:`-{alias_command('dictionary')} <单词>`")
        return

    result = dictionary.meaning(word)
    output = f"**Word :** __{word}__\n\n"
    if result:
        try:
Ejemplo n.º 7
0
from pagermaid.listener import listener
from pagermaid.utils import alias_command, obtain_message, pip_install
from pagermaid import version

pip_install("covid")

from covid import Covid


@listener(is_plugin=True,
          outgoing=True,
          command=alias_command("covid-en"),
          description="获取新冠疫情信息。(国家版)",
          parameters="<英文国家名>")
async def covid_en(context):
    await context.edit("正在获取中。。。")
    try:
        country = await obtain_message(context)
    except ValueError:
        country = "World"
    covid_ = Covid(source="worldometers")
    try:
        country_data = covid_.get_status_by_country_name(country)
    except ValueError:
        return await context.edit(
            "[covid-en] 国家名称不正确 **[Worldometer]**(https://www.worldometers.info/coronavirus)"
        )
    if country_data:
        if country == "World":
            country_data['total_tests'] = "未知"
        output_text = f"`⚠️累计确诊:{country_data['confirmed']} (+{country_data['new_cases']})`\n"
Ejemplo n.º 8
0
""" 查询食物嘌呤含量 """

# By tg @lowking0415
# extra requirements: bs4
from asyncio import sleep
from requests import get
from sys import executable
from pagermaid import version
from pagermaid.listener import listener
from pagermaid.utils import alias_command, pip_install

pip_install("bs4")

from bs4 import BeautifulSoup
from urllib import parse


@listener(is_plugin=True,
          outgoing=True,
          command=alias_command("pl"),
          description="输入【-pl 食物名】查询食物嘌呤含量",
          parameters="<食物名>")
async def pl(context):
    action = context.arguments.split()
    status = False
    if len(action) == 1:
        await context.edit("查询中 . . .")

        st = action[0]
        st = st.encode('gb2312')
        m = {