• TypeError: __init__() takes 1 positional argument but 2 were given у меня проект на aiogram плюс sqlalhemy ,но я совсем недавно начал?

    Lord_of_Rings
    @Lord_of_Rings
    Северный странник. Злой, но добрый
    Учиться, учиться и ещё раз учиться. А не ботов писать.
    Ответ написан
    Комментировать
  • Как запретить отправку выбранной геолокации и медиа в боте?

    Lord_of_Rings
    @Lord_of_Rings
    Северный странник. Злой, но добрый
    Нет, нельзя. Медиа можно проверять после получения по дате
    Ответ написан
    Комментировать
  • Как расшифровать 1685700050?

    Lord_of_Rings
    @Lord_of_Rings
    Северный странник. Злой, но добрый
    Ну если это время, то:
    import datetime
    
    timestamp = 1685700050
    str_time = datetime.datetime.fromtimestamp(timestamp)
    print(str_time)

    У меня получилось 2023-06-02 13:00:50

    UPD. Это не код, а UNIX-время - количество секунд, прошедших с полуночи (00:00:00 UTC) 1 января 1970 года
    Ответ написан
    Комментировать
  • Как мне проигнорировать этот Подкаталог "old" и прочитать данные только из списка?

    Lord_of_Rings
    @Lord_of_Rings
    Северный странник. Злой, но добрый
    Ну если я правильно понял, то:
    import os
    
    path = "data/"
    list_dir=['IRK','MGD','SAH','KHA','KAM']
    for root_dir in list_dir:
        for root, dirs, files in os.walk(os.path.join(path, root_dir)):
            for kmlfile in files:
                print(kmlfile)
    Ответ написан
  • TypeError: Parameters to generic types must be types. Got Ellipsis.?

    Lord_of_Rings
    @Lord_of_Rings
    Северный странник. Злой, но добрый
    Установить более свежую версию python или установить болле старую версию asyncpg-lite
    Ответ написан
  • Как мне сделать так чтобы мой бот не переставал работать, когда пк выключен?

    Lord_of_Rings
    @Lord_of_Rings
    Северный странник. Злой, но добрый
    На любой веб-хостинг. Из бесплатных есть Heroku

    UDP. В PythonAnyWhere можно в консоли bash запустить программу и она будет работать даже когда вы закроете браузер. Только в бесплатной версии есть ограничение на использование ЦП
    Ответ написан
    9 комментариев
  • Как получить баланс карты сбербанк?

    Lord_of_Rings
    @Lord_of_Rings
    Северный странник. Злой, но добрый
    Вообще-то никак. А вдруг вы мошенник?
    Ответ написан
    Комментировать
  • Как починить данную поломку своими руками?

    Lord_of_Rings
    @Lord_of_Rings
    Северный странник. Злой, но добрый
    Ну если вы разбираетесь в схемотехнике, у вас есть паяльник и прочая приблуда, то можно. Нет - несите в ремонт. За 2-3 дня вам все сделают
    Ответ написан
    1 комментарий
  • Почему корутина работает без вызова в telethon?

    Lord_of_Rings
    @Lord_of_Rings
    Северный странник. Злой, но добрый
    Ошибка
    The asyncio event loop must not change after connection
    обычно возникает, когда вы пытаетесь изменить цикл событий asyncio после того, как он уже был запущен. Или пытаетесь запустить асинхронные операции вне асинхронного контекста или пытаетесь изменить цикл событий после его запуска.

    Этот код должен работать
    import asyncio
    from telethon import TelegramClient
    
    class TelegramBot:
        def __init__(self, api_id, api_hash, session_name):
            self.client = TelegramClient(session_name, api_id, api_hash)
    
        async def start(self):
            await self.client.start()
    
        async def chat_prepare(self, chat_to_work):
            messages = await self.client.get_messages(chat_to_work, limit=1)
            if len(messages) == 0:
                return -1
            m1 = messages[0].id
            return m1
    
        async def run(self, chat_to_work):
            await self.start()
            result = await self.chat_prepare(chat_to_work)
            print(f'Result: {result}')
    
    # Пример использования
    api_id = 'YOUR_API_ID'
    api_hash = 'YOUR_API_HASH'
    session_name = 'YOUR_SESSION_NAME'
    chat_to_work = 'YOUR_CHAT_ID'
    
    bot = TelegramBot(api_id, api_hash, session_name)
    
    # Запуск асинхронного контекста
    asyncio.run(bot.run(chat_to_work))
    Ответ написан
  • Почему парсер PDF документов не работает с несколькими тегами?

    Lord_of_Rings
    @Lord_of_Rings
    Северный странник. Злой, но добрый
    spoiler
    import pdfplumber
    import re
    
    def extract_unique_words_with_tag(pdf_path, tags, remove_duplicates=False):
        """
        Извлечение слов с тегом из PDF с указанием номера страницы.
    
        Args:
            pdf_path (str): Путь к PDF файлу.
            tags (list): Список тегов, по которым фильтруются слова (например, ['UPS', 'SW']).
            remove_duplicates (bool): Если True, удаляет дубли на всех страницах.
    
        Returns:
            list: Список кортежей (слово, номер страницы).
        """
        try:
            with pdfplumber.open(pdf_path) as pdf:
                all_words_with_pages = []
    
                for i, page in enumerate(pdf.pages):
                    text = page.extract_text()
                    if text:
                        lines = text.split("\n")
                        page_words = []
    
                        for line in lines:
                            words = line.split()
                            tagged_words = [
                                re.sub(r'[^a-zA-Z0-9\.\-]', '', word)
                                for word in words
                                if re.search(rf'\b\w*({"|".join(tags)})\w*\b', word)
                            ]
                            page_words.extend([(word, i + 1) for word in tagged_words])
    
                        if remove_duplicates:
                            page_words = list(set(page_words))
    
                        all_words_with_pages.extend(page_words)
    
                if remove_duplicates:
                    all_words_with_pages = list(set(all_words_with_pages))
    
                unique_words_with_pages = sorted(all_words_with_pages, key=lambda x: (x[0], x[1]))
                return unique_words_with_pages
    
        except Exception as e:
            print(f"[ERROR] Произошла ошибка: {e}")
            return []
    
    def find_unique_to_each_pdf(pdf_path1, pdf_path2, tags, remove_duplicates_for_pdf1=False, remove_duplicates_for_pdf2=False):
        """
        Находит слова, уникальные для каждого PDF файла, с указанием номера страницы.
    
        Args:
            pdf_path1 (str): Путь к первому PDF файлу.
            pdf_path2 (str): Путь ко второму PDF файлу.
            tags (list): Список тегов для поиска.
            remove_duplicates_for_pdf1 (bool): Если True, удаляет дубли в первом PDF.
            remove_duplicates_for_pdf2 (bool): Если True, удаляет дубли во втором PDF.
    
        Returns:
            tuple: Два списка — слова с номерами страниц, уникальные для первого и второго PDF.
        """
        unique_words_pdf1 = extract_unique_words_with_tag(pdf_path1, tags, remove_duplicates=remove_duplicates_for_pdf1) or []
        unique_words_pdf2 = extract_unique_words_with_tag(pdf_path2, tags, remove_duplicates=remove_duplicates_for_pdf2) or []
    
        words_only_pdf1 = set(word for word, _ in unique_words_pdf1)
        words_only_pdf2 = set(word for word, _ in unique_words_pdf2)
    
        unique_to_pdf1 = [(word, page) for word, page in unique_words_pdf1 if word not in words_only_pdf2]
        unique_to_pdf2 = [(word, page) for word, page in unique_words_pdf2 if word not in words_only_pdf1]
    
        return sorted(unique_to_pdf1), sorted(unique_to_pdf2)
    
    # Пример использования
    pdf_path1 = 'path/to/first/pdf'
    pdf_path2 = 'path/to/second/pdf'
    tags = ['UPS', 'SW']
    
    unique_to_pdf1, unique_to_pdf2 = find_unique_to_each_pdf(pdf_path1, pdf_path2, tags)
    
    print("Уникальные слова в первом PDF файле:")
    for word, page in unique_to_pdf1:
        print(f"{word} (страница {page})")
    
    print("\nУникальные слова во втором PDF файле:")
    for word, page in unique_to_pdf2:
        print(f"{word} (страница {page})")
    Ответ написан
    Комментировать
  • Как проверить доступность списка IP:Port из txt-файла?

    Lord_of_Rings
    @Lord_of_Rings
    Северный странник. Злой, но добрый
    import socket
    import re
    import subprocess
    import platform
    
    # Функция для проверки доступности IP
    def is_ip_reachable(ip):
        # Параметры для команды ping в зависимости от операционной системы
        param = '-n' if platform.system().lower() == 'windows' else '-c'
        command = ['ping', param, '1', ip]
        return subprocess.call(command) == 0
    
    # Функция для проверки доступности IP:port
    def check_ip_port(ip, port):
        if not is_ip_reachable(ip):
            return False
        sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
        sock.settimeout(2)  # 2 секунды таймаут
        result = sock.connect_ex((ip, port))
        sock.close()
        return result == 0
    
    # Чтение списка IP:port из файла
    with open('ip.txt', 'r') as file:
        lines = file.readlines()
    
    # Регулярные выражения для извлечения IP и порта
    re_ip_port = re.compile(r"^(\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}):(\d+)$")
    
    # Список для хранения доступных IP:port
    available_ips = []
    
    # Проверка каждого IP:port
    for line in lines:
        match = re_ip_port.match(line.strip())
        if match:
            ip, port = match.groups()
            port = int(port)
            if check_ip_port(ip, port):
                available_ips.append(f"{ip}:{port}")
    
    # Запись доступных IP:port в новый файл
    with open('ipUP.txt', 'w') as file:
        for ip_port in available_ips:
            file.write(ip_port + '\n')
    
    print("Проверка завершена. Доступные IP:port записаны в файл ipUP.txt")
    Ответ написан
    Комментировать
  • Как называется расширение в vs code?

    Lord_of_Rings
    @Lord_of_Rings
    Северный странник. Злой, но добрый
    Ответ написан
  • Почему появляется ошибка при использовании кнопки в Telegram-боте?

    Lord_of_Rings
    @Lord_of_Rings
    Северный странник. Злой, но добрый
    В гугле нагугливаем:
    Эта ошибка возникает при попытке редактировать только текст поста, который изначально включает в себя и текст, и изображение. Для таких типов постов необходимо указать, помимо текста, URL исходного изображения или URL нового изображения.

    А если у вас нет времени изучать, то зачем беретесь? (Ага, а на тупового chatgpt время есть)
    Ответ написан
  • Как пофиксить selenium.common.exceptions.ElementClickInterceptedException?

    Lord_of_Rings
    @Lord_of_Rings
    Северный странник. Злой, но добрый
    spoiler

    import time
    
    from selenium.webdriver.support.ui import WebDriverWait
    from selenium.webdriver.common.by import By
    from selenium.webdriver.support import expected_conditions as EC
    from selenium.webdriver import Chrome, ChromeOptions
    from selenium.common.exceptions import NoSuchElementException, StaleElementReferenceException
    
    
    driver = Chrome()
    url = 'https://sc2arcade.com/map-list'
    driver.get(url)
    maps_names = driver.find_elements(By.CLASS_NAME, 'title')
    options = ChromeOptions()
    options.add_argument("--disable-notifications")
    
    
    required_letters = 'qwertyuiopasdfghjklzxcvbnm'
    
    
    class MapMaker:
        def __init__(self, username, social_media_link, link_to_profile):
            self.username = username
            self.social_media_link = social_media_link
            self.link_to_profile = link_to_profile
    
        def __eq__(self, other):
            if isinstance(other, MapMaker):
                return self.value == other.value
            return False
    
        def __hash__(self):
            return hash(self.value)
    
    
    mapmakers = set()
    
    
    for map_name in maps_names:
        for required_letter in required_letters:
            for letter in map_name.text:
                if letter == required_letter:
                    driver.execute_script("arguments[0].click();", map_name)
                    map_name.click()
                    try:
                        author = driver.find_element(By.CLASS_NAME, 'v-avatar v-list-item__avatar rounded-0 v-avatar--tile').text
                        link_on_profile = driver.find_element(By.CLASS_NAME, 'player-link').text
                        social_media_link = driver.find_element(By.CLASS_NAME, 'v-btn__content').text
    
                        mapmaker = MapMaker(author, link_on_profile, social_media_link)
                        mapmakers.add(mapmaker)
                        
                        driver.back()
                        driver.refresh()
                    except NoSuchElementException:
                        pass
    
    
    print(mapmakers)
    Ответ написан
    Комментировать
  • Какой отечественный linux выбрать для веб-разработки?

    Lord_of_Rings
    @Lord_of_Rings
    Северный странник. Злой, но добрый
    Вообще без разницы, но лучше с импортозамещением не связываться, проблем не оберешься, по собственному опыту знаю. Используйте классику, проверенную временем. Что касается VPN, то, например с одной из самых лучших дистрибутивов linux - Ubuntu, нет никаких проблем и скорее всего и не будет, и никто (разве что, кроме босса) не мешает его юзать хоть для веба, хоть для видосиков.
    Ответ написан
    5 комментариев
  • Где найти данные о чрезвычайных ситуациях?

    Lord_of_Rings
    @Lord_of_Rings
    Северный странник. Злой, но добрый
    В МЧС
    Ответ написан
    Комментировать
  • ModuleNotFoundError: No module named 'mnemonic ' Что делать?

    Lord_of_Rings
    @Lord_of_Rings
    Северный странник. Злой, но добрый
    pip install mnemonic
    Ответ написан
  • Как исправить ошибку имени пользователя в консоли вс код?

    Lord_of_Rings
    @Lord_of_Rings
    Северный странник. Злой, но добрый
    Создайте проект в папке которая не содержит кириллицу.
    похожий вопрос
    Ответ написан
  • Как удалить данный вирус?

    Lord_of_Rings
    @Lord_of_Rings
    Северный странник. Злой, но добрый
    разрешения от "Administrators"
    Это значит, что вы должны обладать правами администратора. А установить этот антивирус мог другой рекламный "вирус" (бывают такие инсталляторы, которые без спроса ставят что попало). Ну а удалить его можно опять таки только с правами администратора.
    Ответ написан
    Комментировать
  • VsCode сломался, как решить?

    Lord_of_Rings
    @Lord_of_Rings
    Северный странник. Злой, но добрый
    1. Установка обновлений VSCode (если есть).
    2. Перезагрузка компа.
    3. Переустановка VSCode
    Ответ написан