Загрузка...

[Python] Auto-boost topics on Zelenka.guru

Thread in Python created by def Mar 28, 2023. (bumped Sep 29, 2023) 3,552 views

  1. def
    Сотворил маленький и удобный скрипт для автоподнятий тем на форуме и аккаунтов на маркете.


    [IMG]

    Зачем он нужен? Поймут те, кто вечно забывает по кд тыкать поднятие тем.
    например я

    В коде есть зависимость только на пару библиотек
    Code
    pip install loguru
    pip install requests


    Python

    import requests
    import time
    from loguru import logger

    api_base_url = 'https://api.zelenka.guru' # URL Api, работает - не трогай
    api_token = 'токен' # Токен форума
    thread_ids = [4512549, 3870105, 4141642, 4677302, 4926839] # Список тем
    bump_interval = 43200 # Интервал поднятия темы в секундах

    headers = {'Authorization': f'Bearer {api_token}'}

    def bump_thread(thread_id):
    url = f'{api_base_url}/threads/{thread_id}/bump'
    try:
    response = requests.post(url, headers=headers)
    res_json = response.json()

    if response.status_code == 200 and 'error' in res_json:
    logger.error(f'Техническая ошибка! ({res_json["error"]})')
    elif response.status_code == 200 and 'errors' not in res_json:
    logger.success(f'Тема {thread_id} успешно поднята!')
    else:
    logger.error(f'Не удалось поднять тему {thread_id}')
    logger.error(f'Ошибка: {res_json["errors"]}')
    except:
    logger.error('Запрос не был выполнен')


    while True:
    for thread_id in thread_ids:
    bump_thread(thread_id)
    time.sleep(5) # Пауза между поднятием разных тем, чтобы избежать превышения лимитов API
    logger.info(f'Цикл окончен, ждем {bump_interval} секунд')
    time.sleep(bump_interval)

    Python

    import requests
    import time
    from loguru import logger

    api_base_url = 'https://api.lzt.market' # URL Api, работает - не трогай
    api_token = 'токен' # Токен форума
    item_Ids = [43888272] # Список аккаунтов
    bump_interval = 43200 # Интервал поднятия темы в секундах

    headers = {'Authorization': f'Bearer {api_token}'}

    def bump_thread(itemId):
    url = f'{api_base_url}/{itemId}/bump'
    try:
    response = requests.post(url, headers=headers)
    res_json = response.json()

    if response.status_code == 200 and 'error' in res_json:
    logger.error(f'Техническая ошибка! ({res_json["error"]})')
    elif response.status_code == 200 and 'errors' not in res_json:
    logger.success(f'Тема {thread_id} успешно поднята!')
    else:
    logger.error(f'Не удалось поднять тему {thread_id}')
    logger.error(f'Ошибка: {res_json["errors"]}')
    except:
    logger.error('Запрос не был выполнен')


    while True:
    for itemId in item_Ids:
    bump_thread(itemId)
    time.sleep(5) # Пауза между поднятием разных тем, чтобы избежать превышения лимитов API
    logger.info(f'Цикл окончен, ждем {bump_interval} секунд')
    time.sleep(bump_interval)

    я не умею оформлять темы :despair:
     
    1. View previous comments (2)
    2. retr0byte
      avatardef, А теперь смысл с твоего except? какое исключение ты обрабатываешь?
    3. def Topic starter
      avatarretr0byte, бан ip, траблы с интернетом
    4. Shinomiya
      avatardef, как это установить?
  2. everything
    ебать, спасибо ток хотел придумать но ты уже сделал
     
    1. def Topic starter
      avatareverything , я хотел сделать ещё с момента добавления в api, но руки только сейчас дошли)
    2. everything
      avatardef, также с маркетом можно?
    3. def Topic starter
      avatareverything , вряд-ли, по api это чисто для форума
    4. View the next comments (1)
  3. FLACKO
    идея такая же была
     
  4. СвятойОтец
    а я хотел заказать этот софт бля за тыщу руб
     
    1. def Topic starter
  5. def
    Добавил вариант для маркета :market:
     
    1. alt-flask
      Jelby
      avatardef, дай линк пж
    2. def Topic starter
      avatarJelby, в этой же теме
  6. LordS_Inactive
    LordS_Inactive Mar 30, 2023 https://lolz.live/threads/8388112/ - выгодный обменник 12,149 Jan 16, 2019
    я конечно не знаю, но вроде бы это запрещенно... А ты ещё в общий доступ выложил.
     
    1. everything
    2. everything
    3. def Topic starter
      avatarLordS_Inactive, это метод с api, все законно, но один модер это не знал, из-за чего я побывал в бане 10 минут))
  7. UZiFree
    UZiFree Mar 30, 2023 Banned 371 Mar 28, 2020
    Бан ему не дали значит можно юзать)

    Но с помощью чат гпт можно наворотить что-то и по пизже)
     
    1. LordS_Inactive
      avatarUZiFree, вряд-ли чат джбт обучали под API лолза...
    2. UZiFree
  8. AndyPanda
    а за такое :ban: не дадут?
     
  9. Riuji
    [IMG]
    Я не понимаю, зачем этот мусор
     
  10. Loss
    Loss Mar 31, 2023 даун эщкерешко 8,189 Apr 18, 2018
    А давно в апи есть метод поднятия тем?
    Я просто пару месяцев назад писал, не нашел чет:pokerwhite:
     
    1. def Topic starter
      avatarLoss, не так давно, пару месяцев назад точно не было
  11. Мурмяв
    [IMG]

    классная реализация, спасибо)
     
  12. ClikDev
    ClikDev Apr 5, 2023 Coder by ClikDev 1,299 Aug 9, 2019
    Кому как, а мне удобнее, чтобы приходило сообщение в телегу)

    Python
    import requests
    import time

    api_base_url = 'https://api.zelenka.guru' # URL Api, работает - не трогай
    api_token = '' # Токен форума
    token_tg = '' # Токен бота тг
    chat_id = '123456789' # ID админа куда будут приходить сообщения
    thread_ids = [4755961, 3501467, 3320526, 2728514, 3581363] # Список тем
    bump_interval = 43200 # Интервал поднятия темы в секундах

    headers = {'Authorization': f'Bearer {api_token}'}

    def bump_thread(thread_id):
    url = f'{api_base_url}/threads/{thread_id}/bump'
    try:
    response = requests.post(url, headers=headers)

    if response.status_code == 200 and 'errors' not in response.json():
    requests.get(f'https://api.telegram.org/bot{token_tg}/sendMessage?chat_id={chat_id}&text=Тема {thread_id} успешно поднята!')
    else:
    requests.get(f'https://api.telegram.org/bot{token_tg}/sendMessage?chat_id={chat_id}&text=Не удалось поднять тему {thread_id}: {response.status_code} - {response.text}')
    except Exception as err:
    requests.get(f'https://api.telegram.org/bot{token_tg}/sendMessage?chat_id={chat_id}&text={str(err)}')



    while True:
    for thread_id in thread_ids:
    bump_thread(thread_id)
    time.sleep(5) # Пауза между поднятием разных тем, чтобы избежать превышения лимитов API
    requests.get(f'https://api.telegram.org/bot{token_tg}/sendMessage?chat_id={chat_id}&text=Цикл окончен, ждем {bump_interval} секунд')
    time.sleep(bump_interval)
     
    1. СвятойОтец
      avatarClikDev , чёт перестал работать, у тебя работает?
    2. ClikDev
      avatarСвятойОтец, да, все работает, попробуй ключ заново получить и замени его
  13. ProtocoI
    ну прикольно, у меня такой же скрипт в целом, ещё автоподнятия аккаунтов есть)
     
    1. View previous comments (1)
    2. ProtocoI
      avatardef, а только только заметил)
    3. ProtocoI
      avatardef, кстати, я тут кое что понял, лучше юзать мою версию автоподнятия аккаунтов, чем твою, ведь по факту мой скрипт апает последние 6 аккаунтов, а твой скрипт только те которые указал пользователь. Если аккаунт купят то будет ошибка в твоём скрипте, а в моем не будет.
  14. bloom
    Довольно полезный скрипт
    :+rep:
     
  15. sdadsad12313333
    sdadsad12313333 Apr 25, 2023 Banned 12,572 Sep 8, 2019
    [IMG] почему бот пишет мол тема поднята, хотя я точно знаю что тему поднять невозможно (ибо я её сам поднял пол часа назад, и до след. поднятия нужно ждать минимум 11.5 часов). Т.е по сути скрипт проигнорил факт невозможности поднятия тем. Это норма? или просто скрипт баговнный?
     
    1. def Topic starter
      avatarsdadsad12313333, странно, форум должен был вернуть error с этой темой, погоди
    2. def Topic starter
      avatarsdadsad12313333,
      Code
      Не удалось поднять тему 3870105: 200 - {'errors': ['Согласно вашим правам вы можете поднимать тему раз в 12 часов.<br>\nВы должны подождать 1 час 19 минут 12 секунд, чтобы поднять эту тему'], 'system_info': {'visitor_id': 3831371, 'time': 1682435052}}
      меня нахуй шлет :drink_shit:
  16. sdadsad12313333
    Исправил скрипт, всё прекрасно работает:+rep:
     
  17. DedVPN
    Поставил около месяца назад скрипт, притаился и выжидал... очень годно, теперь предлагаю установку своим клиентам как доп.услугу :peka:
    За все время никаких траблов, падений и прочего, работает как служба стабильно :+rep:
     
  18. K1p1k
    JS
    {
    "api_token" : "",
    "thread_ids_file" : "thread_ids.txt",
    "bump_interval" : 43200
    }
    Python
    import requests
    import time
    from loguru import logger
    import asyncio
    import json

    #Что бы добавить новые темы в set.mode укажите 1 и добавьте новые темы в ваш файл
    #Что бы

    def load_id(file):
    data_id=list()
    while True:
    line=file.readline()
    if line == str():
    return data_id
    line=int(line)
    data_id.append(line)


    async def run_handler():
    data_script=json.load(open('run_script.json', 'r'))

    api_base_url = 'https://api.zelenka.guru' # URL Api, работает - не трогай
    headers = {'Authorization': f'Bearer {data_script["api_token"]}'}

    thread_ids_file=data_script["thread_ids_file"]
    bump_interval=data_script["bump_interval"]
    thread_ids=load_id(open(thread_ids_file, 'r'))


    async def bump_thread(thread_id):
    url = f'{api_base_url}/threads/{thread_id}/bump'
    try:
    response = requests.post(url, headers=headers)
    res_json = response.json()

    if response.status_code == 200 and 'error' in res_json:
    logger.error(f'Техническая ошибка! ({res_json["error"]})')
    elif response.status_code == 200 and 'errors' not in res_json:
    logger.success(f'Тема {thread_id} успешно поднята!')
    else:
    logger.error(f'Не удалось поднять тему {thread_id}')
    logger.error(f'Ошибка: {res_json["errors"]}')
    except:
    logger.error('Запрос не был выполнен')


    while True:
    mod_check=open('set.mode', 'r')
    if mod_check.read() == '1':
    old_thread_ids=thread_ids
    thread_ids=load_id(open(thread_ids_file, 'r'))
    mod_check=open('set.mode', 'w')
    if old_thread_ids != thread_ids:
    logger.success(f'Добавлены темы! Список тем: {thread_ids}')

    for thread_id in thread_ids:
    await bump_thread(thread_id)
    time.sleep(5) # Пауза между поднятием разных тем, чтобы избежать превышения лимитов API
    logger.info(f'Цикл окончен, ждем {bump_interval} секунд')
    time.sleep(bump_interval)

    asyncio.run(run_handler())

    Изменил немного)
     
  19. Новокек
    Новокек Apr 28, 2023 А я ебу штоле? 10,062 Feb 5, 2020
    Спасибо папаша, тема реально годная
     
  20. byed
    Благодарочка , полезная штука
     
Loading...