def RecgLang(QUERY):
    TK = tk.tk(QUERY)
    response = requests.get(
        BASE_URL + "?client=t&sl=auto&tl=auto&tk={}&q={}".format(TK, QUERY))
    re_lang = response.json()[2]
    my_lang = get_lang("My_Language")
    if re_lang != my_lang:
        [SL, TL] = [re_lang, my_lang]
    else:
        obj_lang = get_lang("Obj_Language")
        [SL, TL] = [my_lang, obj_lang]
    return [SL, TL]
示例#2
0
def RecgLang(QUERY):
    TK = tk.tk(QUERY)
    response = requests.get(url=BASE_URL,
                            params={"client": "t",
                                    "tk": TK, "q": QUERY,
                                    "sl": "auto", "tl": "auto"})
    re_lang = response.json()[2]
    my_lang = get_lang("My_Language")
    if re_lang != my_lang:
        [SL, TL] = [re_lang, my_lang]
    else:
        obj_lang = get_lang("Obj_Language")
        [SL, TL] = [my_lang, obj_lang]
    return [SL, TL]
示例#3
0
import config

cuser = config.get_user(user.name)

room.message(config.get_lang(cuser["lang"], "hello").format(user.capser))
示例#4
0
import config

cuser = config.User(user.name)

if user.name in config.owners:
    try:
        exec(args, globals())
    except BaseException as e:
        raise type(e)(*e.args) from None
    room.message(config.get_lang(cuser.lang, "done"))
示例#5
0
if args and args[0].lower() == "top":
    if len(args) < 2:
        cursor = config.database.cursor()
        cursor.execute("select name from users "
                       "where cookies != 0 "
                       "order by cookies desc "
                       "limit 10")
        top = [x[0] for x in cursor]
        cursor.close()
        top = [config.User(x) for x in top]
        top = [
            "{}: {} ({})".format(i + 1,
                                 ch.User(x.name).capser, cookies_str(x))
            for i, x in enumerate(top)
        ]
        msg = "\n\n" + config.get_lang(lang, "cookies_top").format(len(top))
        msg += "\n &nbsp; &nbsp;" + "\n &nbsp; &nbsp;".join(top)
    else:
        cursor = config.database.cursor()
        cursor.execute("select name, cookies from users "
                       "where cookies != 0 "
                       "order by cookies desc")
        top = list(cursor)
        cursor.close()
        for name, cookies in top:
            if name == args[1].lower():
                top = [u for u, c in top]
                index = top.index(args[1].lower())
                if index < 5:
                    start = 0
                    end = 10
示例#6
0
import ch
import html
import concurrent.futures
import xml.etree.ElementTree
import bs4


def fetch(url, timeout):
    with urllib.request.urlopen(url, timeout=timeout) as response:
        return response.read()


clang = "en" if user.name[0] in "#!" else config.User(user.name).lang

if not args.strip() and user.name[0] in "!#":
    msg = config.get_lang(clang, "not_for_anons")
else:
    if not args.strip():
        name = user.name
    else:
        name = args.split()[0].lower()

    frmt = name[0], name[1] if len(name) > 1 else name[0], name
    url1 = "http://ust.chatango.com/profileimg/{}/{}/{}/".format(*frmt)
    url2 = "http://fp.chatango.com/profileimg/{}/{}/{}/".format(*frmt)

    with concurrent.futures.ThreadPoolExecutor() as executor:
        future1 = executor.submit(fetch, url1 + "mod1.xml", 10)
        future2 = executor.submit(fetch, url1 + "mod2.xml", 10)
        mod1 = future1.result()
        mod2 = future2.result()
示例#7
0
import config

clang = "en" if user.name[0] in "#!" else config.User(user.name).lang

if not room.getLevel(user):  # is not mod
    msg = config.get_lang(clang, "not_a_mod")
else:
    croom = config.Room(room.name)
    croom.blocked = 1
    msg = config.get_lang(clang, "blocked")
    self.setTimeout(2, self.leaveRoom, room.name)
room.message(msg, True)
示例#8
0
import config

clang = "en" if user.name[0] in "#!" else config.User(user.name).lang
if user.name in config.owners:
    cmds = config.cmds.keys()
else:
    cmds = [x for x in config.cmds.keys() if x[0] != "_"]
msg = config.get_lang(clang, "available_commands")
msg = msg.format(", ".join(sorted(cmds)))
room.message(msg, True)
示例#9
0
import config

cuser = config.get_user(user.name)

if user.name in config.owners:
    exec(args)
    room.message(config.get_lang(cuser["lang"], "done"))
示例#10
0
import config

cuser = config.get_user(user.name)

room.message(config.get_lang(cuser["lang"], "hello").format(user.name.title()))
示例#11
0
import config

clang = "en" if user.name[0] in "#!" else config.User(user.name).lang

if not args.strip():
    msg = config.get_lang(clang, "users")
    msg = msg.format(
        room.name, ", ".join(
            sorted(set(x.capser for x in room.userlist),
                   key=lambda x: x.lower())))
else:
    rname = args.split()[0].lower()
    if rname not in self._rooms:
        msg = config.get_lang(clang, "not_in_room")
        msg = msg.format(rname)
    else:
        msg = config.get_lang(clang, "users")
        msg = msg.format(
            rname, ", ".join(
                sorted(set(x.capser for x in self._rooms[rname].userlist),
                       key=lambda x: x.lower())))
room.message(msg, True)
示例#12
0
import config
import ch

clang = "en" if user.name[0] in "#!" else config.User(user.name).lang

if not args.strip():
    msg = config.get_lang(clang, "missing_argument")
    msg = msg.format(config.get_lang(clang, "argument_user"))
else:
    name = args.split()[0].lower()
    capser = ch.User(name).capser
    rooms = list(sorted(x.name for x in self.rooms if name in x.usernames))
    if not rooms:
        msg = config.get_lang(clang, "user_not_found")
        msg = msg.format(capser)
    else:
        msg = config.get_lang(clang, "user_found")
        msg = msg.format(capser, ", ".join(rooms))
room.message(msg, True)
示例#13
0
import platform
import sys
import config

lang = config.User(user.name).lang

python = platform.python_implementation() + " " + platform.python_version()
system = platform.system() + " " + platform.release()

if sys.platform.startswith("linux"):
    distro_name, distro_ver, distro_id = platform.linux_distribution()
    system += " (" + distro_name + " " + distro_ver + ")"

if hasattr(self, "start_time"):
    import utils

    delta = utils.delta_time(self.start_time)
    start_time = utils.str_delta(lang, delta)
else:
    start_time = None

msg = config.get_lang(lang, "platform").format(system)
msg += "\n" + config.get_lang(lang, "python").format(python)

if start_time:
    msg += "\n" + config.get_lang(lang, "start_time").format(start_time)

room.message(msg)
示例#14
0
文件: bg.py 项目: TheClonerx/thebotx
import concurrent.futures
import xml.etree.ElementTree
import ch
import config
import utils


def fetch(url, timeout):
    with urllib.request.urlopen(url, timeout=timeout) as response:
        return response.read()


args = args.split()
clang = "en" if user.name[0] in "#!" else config.User(user.name).lang
if not args and user.name[0] in "#!":
    msg = config.get_lang(clang, "not_for_anons")
else:
    if not args:
        name = user.name
    else:
        name = args[0].lower()
    url = "http://ust.chatango.com/profileimg/{}/{}/{}/".format(
        name[0], name[1] if len(name) > 1 else name[0], name)

    with concurrent.futures.ThreadPoolExecutor() as executor:
        future1 = executor.submit(fetch, url + "mod1.xml", 10)
        future2 = executor.submit(fetch, url + "msgbg.xml", 10)
        mod1 = future1.result()
        msgbg = future2.result()

    if mod1 == utils.DEFAULT_IMG:
示例#15
0
文件: sc.py 项目: TheClonerx/thebotx
import config
import urllib.request
import json
import html

clang = "en" if user.name[0] in "#!" else config.User(user.name).lang

url = ("http://api.soundcloud.com/tracks/"
       "?client_id=SOUNDCLOUD_CLIENT_ID&q=")

if not args:
    msg = config.get_lang(clang, "missing_argument")
    arg = config.get_lang(clang, "argument_query")
    msg = msg.format(arg)
else:
    query = urllib.request.quote(args)
    response = urllib.request.urlopen(url + query)
    data = json.loads(response.read().decode())
    if not data:
        msg = config.get_lang(clang, "cant_found_video")
        msg = msg.format("SoundCloud", html.escape(args))
    else:
        track = data[0]
        title = track["title"]
        user = track["user"]["username"]
        url = track["permalink_url"]
        msg = config.get_lang(clang, "found_video")
        title = html.escape(title)
        user = html.escape(user)
        msg = msg.format(title, user, url)
room.message(msg, True)
示例#16
0
def str_delta(lang, delta):
    # i put it here to prevent recursions in the imports
    from config import get_lang
    text = []

    if delta.years == 1:
        text.append(get_lang(lang, "time_year").format(delta.years))
    elif delta.years:
        text.append(get_lang(lang, "time_years").format(delta.years))

    if delta.days == 1:
        text.append(get_lang(lang, "time_day").format(delta.days))
    elif delta.days:
        text.append(get_lang(lang, "time_days").format(delta.days))

    if delta.hours == 1:
        text.append(get_lang(lang, "time_hour").format(delta.hours))
    elif delta.hours:
        text.append(get_lang(lang, "time_hours").format(delta.hours))

    if delta.minutes == 1:
        text.append(get_lang(lang, "time_minute").format(delta.minutes))
    elif delta.minutes:
        text.append(get_lang(lang, "time_minutes").format(delta.minutes))

    if delta.seconds == 1:
        text.append(get_lang(lang, "time_second").format(delta.seconds))
    elif delta.seconds:
        text.append(get_lang(lang, "time_seconds").format(delta.seconds))

    if not text:
        return get_lang(lang, "time_now")

    if len(text) == 1:
        if delta.past:
            return get_lang(lang, "time_ago").format(text[0])
        else:
            return text[0]
    _and = get_lang(lang, "literaly_and")
    text = _and.format(", ".join(text[:-1]), text[-1])
    if delta.past:
        return get_lang(lang, "time_ago").format(text)
    else:
        return text
示例#17
0
import config

cuser = config.User(user.name)
msg = config.get_lang(cuser.lang, "hello").format(user.capser)
room.message(msg)
示例#18
0
import config
import ch
import html

note = args.partition(" ")[2]
args = args.split()
cuser = None if user.name[0] in "#!" else config.User(user.name)
lang = "en" if cuser is None else cuser.lang

if not cuser:
    msg = config.get_lang("en", "not_for_anons")
elif not args:
    msg = config.get_lang(lang, "missing_argument")
    arg = config.get_lang(lang, "argument_action")
    msg = msg.format(arg)
elif args[0].lower() == "add":
    if not args[1:]:
        msg = config.get_lang(lang, "missing_argument")
        arg = config.get_lang(lang, "argument_note")
        msg = msg.format(arg)
    else:
        cuser.add_note(note)
        note_n = cuser.get_notes_len()
        msg = config.get_lang(lang, "added_note")
        msg = msg.format(note_n)
elif args[0].lower() == "see":
    if not cuser.get_notes_len():
        msg = config.get_lang(lang, "doesnt_has_notes")
    elif not args[1:]:
        msg = config.get_lang(lang, "notes_see_page")
        see_n = config.get_lang(lang, "notes_see_n")
示例#19
0
import config
import re
from utils import DotDict
clang = "en" if user.name[0] in "#!" else config.User(user.name).lang

room_re = re.compile(r'^\s*(https?:\/\/)?([a-z0-9-]+)(\.chatango\.com)?', re.I)

if not args.strip():
    msg = config.get_lang(clang, "missing_argument")
    arg = config.get_lang(clang, "argument_room")
    msg = msg.format(arg)
elif not room_re.match(args):
    msg = config.get_lang(clang, "invalid_room").format(args)
else:
    aroom = room_re.match(args).groups()[1].lower()
    if aroom in config.Room.room_names:
        msg = config.get_lang(clang, "already_joined")
        msg = msg.format(aroom)
    else:
        cursor = config.database.cursor()
        cursor.execute("insert into rooms (name) values (%s)", (aroom, ))
        config.database.commit()
        cursor.close()
        self.joinRoom(aroom)
        msg = config.get_lang(clang, "joining").format(aroom)
room.message(msg, True)
示例#20
0
文件: yt.py 项目: TheClonerx/thebotx
import config
import urllib.request
import json
import sys
import html
clang = "en" if user.name[0] in "#!" else config.User(user.name).lang
url = ("https://www.googleapis.com/youtube/v3/search?q={}&part=snippet"
       "&maxResults=10&key=YOUTUBE_API_ID")

if not args.strip():
    msg = config.get_lang(clang, "missing_argument")
    msg = msg.format(config.get_lang(clang, "argument_query"))
else:
    query = urllib.request.quote(args)
    url = url.format(query)
    res = urllib.request.urlopen(url)
    data = json.loads(res.read().decode())
    if not data["items"]:
        msg = config.get_lang(clang, "cant_found_video")
        msg = msg.format("YouTube", html.escape(args))
    else:
        item = data["items"][0]
        if item["id"]["kind"] == "youtube#video":
            video_id = item["id"]["videoId"]
            video_title = item["snippet"]["title"]
            channel_name = item["snippet"]["channelTitle"]
            video_url = "https://youtu.be/" + video_id
            video_title = html.escape(video_title)
            channel_name = html.escape(channel_name)

            msg = config.get_lang(clang, "found_video")
示例#21
0
import config

if user.name[0] not in ("#", "!"):
    cuser = config.get_user(user.name)
    if not args:
        msg = config.get_lang(cuser["lang"],
                              "current_prefix").format(cuser["prefix"])
    else:
        new_prefix = args[0]
        if len(new_prefix) > 5:
            msg = config.get_lang(cuser["lang"],
                                  "prefix_too_long").format(new_prefix)
        elif new_prefix[0] == "_":
            msg = config.get_lang(cuser["lang"],
                                  "invalid_prefix").format(new_prefix)
        else:
            cuser["prefix"] = new_prefix
            msg = config.get_lang(cuser["lang"],
                                  "new_prefix").format(new_prefix)
else:
    msg = config.get_lang("en", "not_for_anons")
room.message(msg)
示例#22
0
import config

if user.name[0] not in ("#", "!"):
    cuser = config.get_user(user.name) # get the config of the user
    lang = args[0].lower() if args else ""

    if not lang: # the user hasn't used arguments
        # display the available languages
        langs = ", ".join(config.langs)
        msg = config.get_lang(cuser["lang"], "available_languages").format(langs)
    elif lang not in config.langs: # the language is not supported by the bot
        msg = config.get_lang(cuser["lang"], "unsupported_language").format(lang)
    else:
        cuser["lang"] = lang
        # language changed successfully
        msg = config.get_lang(cuser["lang"], "language_changed").format(cuser["lang"])
    
else:
    msg = config.get_lang("en", "not_for_anons")
room.message(msg)