en
Feedback
wørkähølics.

wørkähølics.

Open in Telegram

Ädmîns: @gggutya @wawefiii Çhät - https://t.me/wwworkaholics

Show more
The country is not specifiedThe category is not specified
238
Subscribers
No data24 hours
No data7 days
No data30 days
Posts Archive
Делаем набор В данный момент с другом делаем фриланс агентство с акцентом на европейских заказчиков. Набираем пока что только
Делаем набор В данный момент с другом делаем фриланс агентство с акцентом на европейских заказчиков. Набираем пока что только людей. Отрасли: дизайн, it, маркетинг(ещё не точно) . У кого хорошее портфолио, кидайте @wawefiii. Как наберем минимальную команду для работы, то начнем запускаться. Механизм работы очень простой. Мы находим зарубежный оффер и передаем уже вам, вы обозначаете свою цену за заказ, а мы как посредник ставим свою наценку для заказчика. Получаем win-win. i-y-k-y-k wørkähølics. § çhät.

Версии: Python==3.10.11 bitcoinlib==0.6.13 Вопрос: почему метод вверху поста не видит UXTO? Как это исправить? Бесконечно буду благодарен, если поможете 💞 c-u-l-8-r wørkähølics. § çhät.

New task! Работа с либой bitcoinlib Че делает код вкратце: имеется некий базовый класс и наследуются от него дочерние. В дочерних классах написаны методы для создания кошельков и отправки транзакций в сети, для которой создан дочерний класс. В коде что я скинул используется тестовая сеть bitcoin. Я создаю экземпляр класса BTCWalletManager, затем создаю кошелек, а после тестирую отправку транзакции. Пополнить тестовый кошелек можно на сайте: ЖМЫК Я пополнил, но почему-то метод:
uxtos = wallet.utxos_update()
Не обновляет UXTO, по прежнему остается 0, а необходимо иметь больше 0. По примерам из документации (основные и за 10 минут (тут смотрите пункт Wallets) ) все должно работать. Статья про UXTO: ЖМЯК Сам код:
import json
from abc import ABC, abstractmethod
from bitcoinlib.wallets import Wallet, wallet_create_or_open
from bitcoinlib.mnemonic import Mnemonic
from sqlalchemy import create_engine
from sqlalchemy.orm import Session


DEBUG = True


# Базовый класс
class BaseWalletManager(ABC):
    __instance = None
    __symbol = 'None'

    def __new__(cls):
        if cls.__instance is None:
            cls.__instance = super().__new__(cls)
        return cls.__instance
    
    def __init__(self):
        self._db_uri = "sqlite:///./payment/wallets.db" # после /// идет относительный путь до бд
        self._db_engine = create_engine(self._db_uri, echo=True)
        self._db_session = Session(autoflush=False, bind=self._db_engine)
    
    @abstractmethod
    def create_wallet(self, name: str):
        pass

    @abstractmethod
    def send_money(self, from_wallet: str, output_arr: [(str, int)], real_fee: int = None):
        pass


class BTCWalletManager(BaseWalletManager):
    __symbol = 'testnet'

    def create_wallet(self, name: str ='MainTestnetWallet'):
        mnemonic = Mnemonic().generate()
        wallet = wallet_create_or_open(name=name, 
                                        keys=mnemonic,
                                        network=self.__symbol,
                                        db_uri=self._db_uri,
                                        witness_type='segwit')
        dict_wallet = wallet.get_key().as_dict(include_private=True)
        dict_wallet.update({'seed': mnemonic})
        return json.dumps(dict_wallet)
    
    def send_money(self, from_wallet: str = 'MainTestnetWallet', output_arr: [(str, int)] = None, real_fee: int = None):
        wallet = Wallet(from_wallet, db_uri=self._db_uri)

        print('-------------FROM WALLET-------------')
        keys = [key for key in wallet.keys_addresses() if key.name == 'FOR TESTING']

        # Если ключа для тестировки нет, то создадим его:
        if len(keys) == 0:
            wallet.new_key(name='FOR TESTING', network=self.__symbol)
            keys = wallet.keys_addresses()

        key = keys[0]
        wallet.info()

        # Установка комиссии
        if real_fee is None: fee = 'low' 
        else: fee = real_fee

        uxtos = wallet.utxos_update()
        if uxtos:
            # для теста я не передаю кошельки, а создаю в скрипте:
            if output_arr is None:
                test_wallet_2 = wallet_create_or_open('Wallet for test 2', network=self.__symbol, db_uri=self._db_uri, witness_type='segwit')
                print('--------------TO WALLET--------------')
                test_wallet_2.info()
                trans = wallet.send(output_arr=[(test_wallet_2.addresslist()[0], 200)], 
                                    input_key_id=key.id, 
                                    fee=fee, 
                                    network=self.__symbol, 
                                    offline=DEBUG)   
                return trans

        else:
            print('Деньги еще не пришли')
            print('Balance %s' % wallet.balance())
            print("UXTO's %s" % wallet.utxos_update())
            

if __name__ == '__main__':
    btc = BTCWalletManager()
    wallet_data = btc.create_wallet()
    outputs_trans = btc.send_money(real_fee=100)

    print('\n------------------\n')

Решение проблемы: Так как в пирограме есть отдел с клоунами, то эти самые весельчаки решили поприкалываться и не написать в д
Решение проблемы: Так как в пирограме есть отдел с клоунами, то эти самые весельчаки решили поприкалываться и не написать в документации что с чем работает. Второй способ:
await app_user.promote_chat_member(chat_id=chat.id, 
    user_id='@wpibu_bot',
    privileges=ChatPrivileges(
        can_manage_chat = True,
        can_delete_messages = True,
        can_manage_video_chats = True,
        can_restrict_members = True,
        can_promote_members = True,
        can_change_info = True,
        can_post_messages = True,
        can_edit_messages = True,
        can_invite_users = True,
        can_pin_messages = True,
        is_anonymous = False))
Этот код работает только для Супер Групп. Первый способ работает только для каналов. А для обычных групп ниче не работает🤡 Парам-парам-пам-биц-бау... w-u-c-i-w-u-g wørkähølics. § çhät.

Гении, просыпаемся, админ балбес.. Работаю с pyrogram. Че делает код вкратце: подрубается к аккаунту, создает группу и добавляет туда моего бота, меняет разрешения чата, а затем должен сделать бота администратором. Почему-то выскакивает странная ошибка, которую не могу пофиксить. Код:
from pyrogram import Client
from pyrogram.raw.functions.channels.edit_admin import EditAdmin
from pyrogram.raw.types import ChatAdminRights
from pyrogram.types import ChatPermissions
import asyncio


app_user = Client(name='test_user')

async def main():
    print('Я запустился')
    await app_user.start()

    # Create chat
    chat = await app_user.create_group('Group_test2', ['@wpibu_bot'])
    chat = chat.id

    # Edit chat permissions
    await app_user.set_chat_permissions(chat_id=chat,
                                        permissions=ChatPermissions(can_add_web_page_previews=False,
                                                                    can_change_info=False,
                                                                    can_invite_users=False,
                                                                    can_pin_messages=False,
                                                                    can_send_media_messages=True,
                                                                    can_send_messages=True,
                                                                    can_send_other_messages=False,
                                                                    can_send_polls=False))
   

    channel_data = await app_user.resolve_peer(chat)
    user_data = await app_user.resolve_peer('@wpibu_bot')

    #Make user Admin
    await app_user.invoke(EditAdmin(channel=channel_data,
                                    user_id=user_data,
                                    admin_rights=ChatAdminRights(change_info=True,
                                                                 post_messages=True,
                                                                 edit_messages=True,
                                                                 delete_messages=True,
                                                                 ban_users=True,
                                                                 invite_users=True,
                                                                 pin_messages=True,
                                                                 add_admins=True,
                                                                 manage_call=True,
                                                                 other=True,
                                                                 manage_topics=True),
                                    rank='Admin'))

    
    await app_user.stop()
    print('Кончился')


asyncio.run(main())
Но, почему-то выдает ошибку: pyrogram.errors.exceptions.bad_request_400.ChannelInvalid: Telegram says: [400 CHANNEL_INVALID] - The channel parameter is invalid (caused by "channels.EditAdmin") в строке: await app_user.invoke(EditAdmin(channel=channel_data, ... Доки читал, стаки оверфлоу смотрел, чатГПТ доставал, ниче не помогает. Версии: Pyrogram==2.0.106 TgCrypto==1.2.5 Python==3.10.11 Сразу скажу ЧТО РАБОТАТЬ НЕ БУДЕТ: 1) Если вы в строке «await app_user.invoke(EditAdmin(channel=channel_data» аргументу channel будете пытаться присвоить просто id. Там надо присваивать именно экземпляр класса InputChannel. 2) Если вы будете пытаться подсказать сделать с помощью promote_chat_member. Там тоже аргумент channel должен присваивать экземпляр класса InputChannel. Даже если присваиваю что надо, то вылезает всё та же ошибка, которую я указал. Бесконечно буду благодарен, если поможете 💞 c-u-l-8-r wørkähølics. § çhät.

2024! c-u-l-8-r wørkähølics. § çhät.
2024! c-u-l-8-r wørkähølics. § çhät.

comeback Я вернулся. В последнее время было мало постов от меня. Последние месяца перед Новым годом выдались у меня самыми ск
comeback Я вернулся. В последнее время было мало постов от меня. Последние месяца перед Новым годом выдались у меня самыми скучными и неинтересными за год, но это похуй. Главное, что у нас у всех всё впереди. Выражаю всем воркаголикам свою благодарность. Потихоньку создаём свою большую, сплоченную и продуктивную команду. Всем удачи, успехов и главное здоровья в следующем году. c-u-l-8-r wørkähølics. § çhät.

Распределённые системы. Суть распределённых систем заключается в хранении копий одних и тех же данных на разных компьютерах.
Распределённые системы. Суть распределённых систем заключается в хранении копий одних и тех же данных на разных компьютерах. Абстракция: фотография, где каждый шарик - компьютер. Каждый компьютер хранит одно и то же. Будем эти компьютеры называть узлами (нодами). Да, на принципе распределенных систем баз данных построен любой блокчейн. Что еще может быть распр. системой? - Браузер. А точнее сам интернет. Ведь каждый сайт имеет свой айпи и домен, а если бы все миллиарды сайтов хранились на одном каком-то хранилище, то представьте сколько бы занимал поиск нужного сайта... Репликация = синхронизация узлов = при добавлении новой ноды каждая из подключенных шлёт немного данных. Нода быстро получает те жесамые данные, что есть у других. Когда на какую-то ноду попадает новая информация, то она рассылает её на ближайшие другие, и так пока все ноды не будут одинаковы. Статьи: - Распределённая база данных - Что такое распределенная система? - Основные понятия i-y-k-y-k wørkähølics. § çhät.

Вот меня и нае*?ли. Или нет? Завершил очередные доработки заказа и жутко бесился с заказчика. Сначала просил делать все на английском, а потом, будто он под раскумаром, просит сделать странные вещи: То фулл язык с англ. на рус. просит поменять, то какие-то новые разделы добавить, а после вообще сказал поставить бота на новый сервер. Оказалось, что я сделал попросту два разных бота по одной (грубо говоря) цене. С одной стороны это ж один заказчик, тот же бот, но просто доработки. Расклад такой: 2 бота. 1-й > урезанный на английском языке, 2-й > с расширенным функционалом на русском языке. Честно я даже не расстроен что получил, фактически, в два раза меньше. За все про все заработал где-то примерно 500$. Так что я не нищий. Инфа про распределенные системы готовится, изучается, а сайт для кейса делается. Крипто кодинг изучается, а графен делается. Некст пост, как раз таки, про расп. системы. c-u-l-8-r wørkähølics. § çhät.

4 года🤫 будем слушать 🤯 KRISTINA c-u-l-8-r wørkähølics. § çhät.
4 года🤫 будем слушать 🤯 KRISTINA c-u-l-8-r wørkähølics. § çhät.

Знаете че еще интересно? А то, что между мной и заказчиком - аж 2 посредника! 1-й кодерская студия, которая от моей цены накрутила 100$. 2-й англоязычный посредник со своей базой клиентов, который накрутил еще 350$! В итоге бот обошелся заказчику в 700$. Дорого? -для СНГ скорее всего да. Большую ли я назвал сумму? -нет. Нормальную. Однако стоило бы мне сделать чуть больше сетей для пополнения баланса, сделать это автоматически (без отправки id транзакции), а также автовывод средств, то я бы с чистой душой называл бы ценник в 400-450 и даже в 600$ в зависимости от кол-ва и самих сетей. Однако я не умел, да и щас еще не разобрался как и че куда переводить. У меня были сроки да и цена уже обговорилась, так что смысла изучать не было. После сдачи проекта я начал разбираться как устроен блокчейн, че такое ноды, сигнатурки, внешние(публичные) и закрытые ключи кошельков и т.п. Скажу так: звучит страшнее чем есть на самом деле. В этом посте я не буду рассказывать обо все этом, в интернете достаточно информации. Еще узнал, что в крипте, как не странно, на каждом шагу используется криптография. Всякие алгоритмы консенсуса и прочие замудренные штуки стали дико интересными. Думаю купить какую-нибудь книгу, хочется знать ОТ и ДО как работает блокчейн. Хочу напомнить, что я участвую в предпроф олимпиаде. Так вот, тут я выбрал кейс, где нужно (сам в шоке) написать практически свой блокчейн. Точнее сказать - распределенное хранилище данных. Кто был не в курсе: блокчейн - это разновидность того, что я написал в предыдущем предложении. Во многом наш кейс отличается от классического блокчейна, но у них все равно остается так много общего… Поставьте вагон реакций, и я расскажу подробнее: че это такое, как работает, какие статьи почитать, и чем я буду заниматься ближайшие два месяца. В комментариях я скину ссылку на бота, который работает прямо сейчас. А также мануал с полной логикой работы(ну почти). See u l-8-r, m-8! w-u-c-i-w-u-g wørkähølics. § çhät.

Firśt dęǎl Я недоделал 1 тг-бот проект, прошел тестовое задание в кодерскую студию, мне нашли заказчика за рубежом, я назвал
Firśt dęǎl Я недоделал 1 тг-бот проект, прошел тестовое задание в кодерскую студию, мне нашли заказчика за рубежом, я назвал цену от балды в 250$, выполнил заказ за неделю после занятий, получил свои первые деньги. Да. Вот так я могу описать свои действия вкратце для первых $$$. После на вторую неделю я делал правки и заливал на сервер эту машину. Что же я делал? Я делал гарант бота. Кто не в курсе: два рандомных человека хотят провести сделку, но боятся что они обманут друг друга. Для этого есть третья сторона - бот. Покупатель пополняет баланс бота, создает сделку с продавцом, его деньги замораживаются, пока сделка не будет проведена. Продавец отправляет товар покупателю, покупатель подтверждает заказ, деньги размораживаются и идут на баланс продавца. Затем продавец выводит деньги. Проводить сделки можно только в крипте. Я сделал возможность проводить сделки в USDT TRC-20 и Биткоинах. w-u-c-i-w-u-g wørkähølics. § çhät.

Go Go Go! Mood 📈 B4N c-u-l-8-r wørkähølics. § çhät.
Go Go Go! Mood 📈 B4N c-u-l-8-r wørkähølics. § çhät.

Mr. Mûltǐ - ãřm ęď c-u-l-8-r wørkähølics. § çhät.
Mr. Mûltǐ - ãřm ęď c-u-l-8-r wørkähølics. § çhät.

Graphene. seed phase Админы по уши в работе. Один готовит материалы к выступлениям, другой кодит каждую свободную минуту. Я с
Graphene. seed phase Админы по уши в работе. Один готовит материалы к выступлениям, другой кодит каждую свободную минуту. Я скоро закончу первый в жизни коммерческий заказ. Именно этим я и занимался прошлую неделю, спав всего по паре часов. Последним не горжусь, это не правильно и такое не поддерживаю, но факт есть факт. На этой неделе я немного отдыхаю и вношу правки от заказчика. Именно по этому я набрался сил и сейчас пишу этот пост. Совсем скоро я расскажу вам все про заказ. Пока кину спойлер в виде подключения оплаты криптой, англоязычного заказчика и первого деплоя проекта. Graphene. растёт. Каждый день, по чуть-чуть, маленькими шагами, кирпичик за кирпичом. Это тот самый режим работы над проектом, который искали на протяжении уже 2-3 лет. Graphene первый, кто нашел его. @wawefiii делает потрясающую презентацию для выступлений. Очень жаль, что не можем ею с вами поделиться (как минимум пока что). Совсем скоро увидимcя, m-8 ! c-u-l-8-r wørkähølics. § çhät.

We're alive, just busy🤯 mood c-u-l-8-r wørkähølics. § çhät.
We're alive, just busy🤯 mood c-u-l-8-r wørkähølics. § çhät.

почему так мало постов? Всё очень просто. Study —> food —> work—> sleep. И так каждый день. Активно работаю над нашим проекто
почему так мало постов? Всё очень просто. Study —> food —> work—> sleep. И так каждый день. Активно работаю над нашим проектом, скоро начну ещё второй проект. Времени очень мало. Но работа идёт, а это самое главное. Думаю на выходных сделать для вас несколько информативных постов. Всем хорошего и продуктивного дня 🆙 c-u-l-8-r wørkähølics. § çhät.

R & V m💋👊d c-u-l-8-r wørkähølics. § çhät.
R & V m💋👊d c-u-l-8-r wørkähølics. § çhät.

monthly rate for 2 weeks. Говорил, что за ноябрь должен пройти два блока Django. По факту, я прошел, но за две недели. Пробег
monthly rate for 2 weeks. Говорил, что за ноябрь должен пройти два блока Django. По факту, я прошел, но за две недели. Пробегаться по каждому блоку, как в первый раз, я не буду. Мне слишком лень это писать. (Но если вы хорошо попросите, то я могу это сделать.) Вместо этого в комментариях прикладываю видео моего сайтика, который получился. Вот github с исходниками сайта. Хочу поделиться еще тем, что готовлюсь к предпрофессиональной олимпиаде по информатике. Договорился, могу вполне легально пропускать каждый понедельник учебы для подготовки. Рассказать подробнее про олимпиаду? c-u-l-8-r wørkähølics. § çhät.