Загрузка...

Общая тема скриптов MeloniuM

Тема в разделе Дополнения создана пользователем MeloniuM 17 май 2023. (поднята 26 ноя 2024) 8034 просмотра

Загрузка...
  1. Растение
    Растение 31 май 2023 27 305 26 сен 2021
    В lzt next crack такая функция уже есть, она также показывает код из которого состоит уник и лычка.
     
  2. КинДзаДза
    КинДзаДза 2 июн 2023 Не еби мне мозг, он уже выебан. 20 112 26 янв 2022
    Я из готовых часа 2 выбирал и результатом не очень доволен был т.к. минимум 4 таких же было. Свой уник создать тогда ума не хватило. Я к тому что уникальный значит единственный и неповторимый.
     
    2 июн 2023 Изменено
  3. MeloniuM
    MeloniuM Автор темы 25 июн 2023 2792 23 дек 2021
    Расширение частично реализует задуманное из предложения https://zelenka.guru/threads/5372145/
    [IMG]
    - Добавлено скрытие тем на лету во время загрузки темы
    - Добавлена галочка и анимация при скрытии/показе закрепленных тем как в менюшках сайта
    - Исправлен баг, при переключении страниц закрепы не скрывались
    - Теперь разделе розыгрышей закрепы нельзя скрыть (чтобы не пропустить выгодные
     
    25 июн 2023 Изменено
    1. MeloniuM Автор темы
      MeloniuM, Добавил версию v1.2
      Исправил баг описанный llimonix
  4. Sylvester
    Sylvester 25 июн 2023 :love2: TRX&ENERGY(FROM 100₽/66.000) - lzt.lol/trx-3 :love2: 15 078 30 сен 2022
    Мелочь, а приятно:finger_up:
     
  5. jesse
    jesse 25 июн 2023 контактов нет. связь - лс. #нищий :life:
    нихуя себе спс а то в торговлю заходишь и первые 10000 тем из закрепа которые уже видел 500 раз
     
    1. MeloniuM Автор темы
      jesse, в жизни форума тоже хватает, особенно с телефона листать не удобно.
  6. MeloniuM
    MeloniuM Автор темы 25 июн 2023 2792 23 дек 2021
    Нужно ещё придумать, как оформить выбор нужных разделов, где будет скрытие закреплённых тем, а где нет. В розыгрышах думаю не нужно скрывать.
     
    25 июн 2023 Изменено
  7. OlegBrawler
    Вот это реально удобно, :+rep:
     
  8. somecomedy
    somecomedy 25 июн 2023 кря 6112 29 фев 2020
    бедняги мамонты покупатели закрепа, норм тема +реп
     
  9. форум
    наконец годно, давно ждал такую хрень, а то пока в некоторых разделах пока закрепы пролистаешь - пальчики устанут:cutedance:
     
  10. a911
    a911 26 июн 2023 Продам рекламу в профиле lolz.live/threads/2604681 50 533 30 май 2018
    вот это уже реально годное предложение
     
    1. Посмотреть предыдущие комментарии (1)
    2. a911
      расширение, но уже не исправить :finger_down:
    3. MeloniuM Автор темы
      Luckyman, сперва сделал предложение, потом написал скрипт
  11. Ne0yron
    Ne0yron 26 июн 2023 大きなお世話 65 7 апр 2021
    Прекрасная тема, помогает оставаться нервным клеткам в покое и очень полезно
     
  12. Proxxity
    Proxxity 26 июн 2023 Что ты думал, в сказку попал? 504 22 янв 2021
    А когда раздел с играми добавят?
     
  13. Растение
    Растение 27 июн 2023 27 305 26 сен 2021
    Зачем когда есть галочка " скрыть закрепленные темы "?
     
  14. Шейх
    Приятная мелочушка
     
  15. llimonix
    Кнопка появляется только после обновления страницы. Когда переходишь по разделам кнопка пропадает
     
    1. Посмотреть предыдущие комментарии (4)
  16. God_likeGL
    God_likeGL Layer 1 16 июл 2023 ЛУЧШИЕ ВЕРИФИКАЦИИ - lolz.live/threads/4228395/ :+rep: 27 743 30 окт 2018
    [IMG]
    в лолз нексте уже реализованно
     
    1. MeloniuM Автор темы
      God_likeGL, интересный ты, и предложение не нравится и расширение говоришь что есть уже)
  17. MeloniuM
    MeloniuM Автор темы 6 авг 2023 2792 23 дек 2021
    6 авг 2023 Изменено
  18. MeloniuM
    MeloniuM Автор темы 20 авг 2023 2792 23 дек 2021

    [IMG]
    Увидел похожую тему, решил поделиться своим скриптом.
    Скрипт в цикле проверяет наличие новых уведомлений на форуме и отображает его в уведомлениях windows/android.
    На ПК:
    [IMG]
    [IMG]
    На телефоне:
    [IMG]
    [IMG]
    У каждого типа уведомления своя иконка (не все виды отснифал, можете предлагать ещё)
    [IMG]

    Нажатие на уведомление открывает его в браузере.

    Python

    import requests
    from time import sleep
    import json
    from bs4 import BeautifulSoup
    import sys
    import os

    VERSION = "1.1"

    print("""\u001b[32m
    %((
    (( ((((
    \u001b[0m\u001b[42mZelenify\u001b[0m\u001b[32m ( &(((& #(((((%
    #((& (((((((((((((
    ((% ((((##((((((((((((((&
    (# (((((%((((((((((((((((&
    &(((( (((((((((((((((((#
    ((((((((((((((((((# &((((%
    #(((((((((((((# &(((((((
    ((((((((( &(((((( #((((((((
    ((((( &( %(( &(((((((
    %(((((# ((((((
    (((((((((((((((

    \u001b[45m\u001b[34;1mby MeloniuM\u001b[0m""")
    is_android: bool = hasattr(sys, 'getandroidapilevel')
    PATH = os.path.dirname(os.path.realpath(__file__))
    WIN_ICON = os.path.join(PATH, "favicon.png")

    class LolzApi:
    def __init__(self, token: str, baseUrl="https://api.zelenka.guru/"):
    self.token = token
    self.baseUrl = baseUrl
    self.session = requests.session()
    self.session.headers = {'Authorization': f'Bearer {self.token}'}

    def get(self, url, params={}):
    return self.session.get(self.baseUrl + url, params=params)

    def post(self, url, data={}):
    return self.session.post(self.baseUrl + url, data=data)

    class Zelenify:
    def __init__(self, api, config, is_android):
    self.api = api
    self.config = config
    self.is_android = is_android

    icon=WIN_ICON
    url="https://zelenify.t.me"
    if is_android:
    icon = "notifications"
    url = "termux-open " + url

    self.send_notify(title='Уведомление', content='Скрипт запущен. Контакты: https://zelenify.t.me', url=url, icon=icon)

    def send_notify(self, title: str, content: str, url: str, icon=WIN_ICON):
    if self.is_android:
    termux.Notification.notify(title=("Zelenify " + title), content=content, kwargs={"icon": icon, "action": url})
    #execute(["termux-notification", "-t", title, "-c", content, "-i", "Zelenify", "--action", "termux-open " + url, "--icon", icon])
    else:
    notify(title, content, on_click=url, icon=icon, app_id="Zelenify")

    def run(self):
    #global ****
    """
    todo:
    - добавить конфиг с выбором типа уведомлений которые отслеживать
    """
    last = []
    dots = 1
    connectError = False
    while True:
    response = None;
    try:
    response = api.get("notifications")
    if('error' in response.json()):
    if(response.json()['error'] == 'invalid_token'):
    print('> Неверный токен, измените его в config.json')
    else:
    print('[' + response.json()['error'] +']', response.json()['error_description'])
    break
    notifys = response.json()['notifications']
    except requests.exceptions.ConnectionError as e:
    print('[Error] Пропал интернет, ожидаю подключение' + '.'*dots + ' ', end="\r")
    dots += 1
    if dots >= 3:
    dots = 1
    connectError = True
    sleep(3)
    continue
    except Exception as e:
    if response != None:
    if response.status_code == 429:#флуд
    sleep(5)
    continue
    print('[Error]', e, end="\r")
    continue
    else:
    if connectError:
    print('\n[info] Соединение восстановлено ')
    connectError = False

    if response.status_code != 200:
    print('status', response)
    sleep(5)
    continue

    for notify in notifys:
    soup = BeautifulSoup(notify['notification_html'], 'html.parser')
    if notify['notification_is_unread'] == True and not notify['notification_id'] in last:
    if notify['creator_username'] != 'Реклама' or self.config['hide_ads'] != 'true':
    #log = notify['content_type'] + ":" + notify['content_action']
    #if not log in ****.keys():
    # ****[log] = soup.text.strip()
    url = soup.find("a", {"class": "PopupItemLink"})
    if url:
    url = url.get('href')
    else:
    url = False
    icon=WIN_ICON
    if is_android:
    icon = self.get_termux_icon(notify['content_type'], notify['content_action'])
    #print(icon)
    if url:
    url = "termux-open " + str(url)
    #print(url)
    self.send_notify(title="Уведомление", content=soup.text.strip(), url=url, icon=icon)
    last.append(notify['notification_id'])
    print('\u001b[35;1m>\u001b[32;1m ' + soup.text.strip() + '\u001b[0m')
    mark = True
    if notify['notification_is_unread'] == False and notify['notification_id'] in last:
    last.remove(notify['notification_id'])
    sleep(1)

    def get_termux_icon(self, content_type: str, content_action: str):
    alerts1 = {
    'thread': 'format_list_bulleted', #type: icon
    'profile_post_comment': 'chat'
    }
    if content_type in alerts1.keys():
    return alerts1[content_type]

    alerts2 = {
    'conversation': {#type
    'insert': 'insert_comment', #action: icon
    'join': 'person_add',
    'reply' : 'reply'
    },
    'post': {
    'insert': 'speaker_notes'
    },
    'post_comment': {
    'like': 'favorite'
    },
    'profile_post': {
    'like': 'thumb_up'
    },
    'user': {
    'post_copy': 'content_copy',
    'post_move': 'low_priority',
    'thread_merge': 'merge_type',
    'thread_move': 'wrap_text',
    'from_admin': 'verified_user'
    }
    }
    if content_type in alerts2.keys():
    if content_action in alerts2[content_type].keys():
    return alerts2[content_type][content_action]

    return 'notification'

    if __name__ == '__main__':
    if is_android:
    try:
    import termux
    except:
    print("Установите Termux:API - pip install termux")
    exit(1)
    else:
    try:
    from win11toast import notify
    except:
    print("Установите win11toast - pip install win11toast")
    exit(1)
    """
    1.Заходим на https://zelenka.guru/account/api и создаём приложение
    2.Теперь перехожим на https://api.zelenka.guru/oauth/authorize?response_type=token&client_id=CLIENT_ID&scope=read+post+market заменив CLIENT_ID на айди приложения из пункта [1]
    3.Выдаём приложению права все кроме маркета(они ему не нужны)
    4.Копируем токен из адресной строки со страницы на которую нас перенаправило и вставляем в код
    """
    if not os.path.exists(os.path.join(PATH, "config.json")):
    with open(os.path.join(PATH, 'config.json'), 'w') as configfile:
    data = {
    'token': input('Введите токен lolzapi: '),
    'hide_ads': 'true'
    }
    configfile.write(json.dumps(data))
    configfile.close()
    with open(os.path.join(PATH, 'config.json'), "r") as jsonfile:
    config = json.load(jsonfile)
    api = LolzApi(config['token'])

    if not os.path.exists(WIN_ICON):
    print('\u001b[33;1mНе найден favicon.png, качаю с форума\u001b[0m')
    favicon = open(WIN_ICON, 'wb')
    favicon.write(requests.get("https://zelenka.guru/styles/brand/download/logos/LolzTeam-Logo-Green.png", allow_redirects=True).content)
    favicon.close()
    print('\u001b[33;1mГотово!\u001b[0m')
    print('Жду новые уведомления на форуме')

    try:
    zel = Zelenify(api, config, is_android)
    zel.run()
    except KeyboardInterrupt:
    print(' '*50, end="\r")
    print('До новых встреч <3')

    Для windows:
    pip install bs4 requests win11toast

    Для андроид нужен Termux и Termux:API (советую ставить версии с гитхаба)
    Код
    pip install termux-api
    pkg install bs4 requests termux-api
    Для андроид можно установить Termux:Boot, либо Termux:Widget для быстрого запуска скрипта.
    Первый для запуска при включении телефона, второй для запуска с виджета на рабочем столе.

    Для владельцев браслета Mi Band:
    Можно через приложение Notify сменить иконку у Termux:API на логотип форума.
    [IMG]
    Установить Notify
    Выбираем - Приложения
    [IMG]

    Добавляем в список приложение Termux:API нажав на плюсик и выбрав его в списке приложений.
    [IMG]
    А теперь изменим иконку приложения. Жмём шестерёнку:
    [IMG]
    Настроить значок уведомлений
    [IMG]
    Выбираем в списке то приложение, которым не будем пользоваться.
    Я например не использую Mi чат, его иконку заменю лого форума.
    [IMG]
    Выбрать значок с телефона. Предварительно скачайте логотип форума.
    [IMG]
    Теперь сменим иконку у приложения Termux:API выбрав в настройках изменённую в предыдущем шаге иконку.
    [IMG]

    В комментариях рад видеть предложения по улучшению скрипта.​
     
    20 авг 2023 Изменено
  19. kipsad
    kipsad 20 авг 2023 16 119 24 дек 2018
    с андроидом максимально симпатично выглядит, а так +rep за уведы на винде
     
    1. MeloniuM Автор темы
      kipsad, у каждого типа уведомлений своя иконка
    2. kipsad
      MeloniuM, не ну на часах максимально балдежно выглядит, без шуток, лампово прям
  20. vuchaev2015
    vuchaev2015 20 авг 2023 все ближе и ближе... 23 654 15 фев 2018
    видел данный скрипт от мелониума до создания самой темы. олд получается.
    хорош :cool_bun:
     
    1. Посмотреть предыдущие комментарии (2)
    2. vuchaev2015
      MeloniuM, :cat_face: чутка не успел конечно до малваря, но твой скрипт как-то по прикольнее выглядит :orange:
    3. MeloniuM Автор темы
      vuchaev2015, если бы не малварь, я бы забыл о скрипте:peka:
Top