diff --git a/clockblocker_bot/actions/basic.py b/clockblocker_bot/actions/basic.py index 64235612cf3fe9eac8b84397fbcddc4978bc55f4..23bc1f79580b055a128aeaa87d2e62c85f8ddf7c 100644 --- a/clockblocker_bot/actions/basic.py +++ b/clockblocker_bot/actions/basic.py @@ -5,6 +5,9 @@ import random import re from datetime import datetime +from telethon.client import telegramclient +from telethon.client.telegrambaseclient import TelegramBaseClient + from clockblocker_bot.config import config from clockblocker_bot.utils.constants import CLOCKBLOCKER_ID, S3RIUS_ID from clockblocker_bot.utils.rotate_words import rotate_words @@ -13,8 +16,18 @@ from clockblocker_bot.utils.decorators import ( clean_up_policy, ignore_with_id, mark_unread, + only_with_id ) from telethon import events +from telethon.tl.functions.photos import UploadProfilePhotoRequest +from telethon.sync import TelegramClient +from telethon import functions, types +from clockblocker_bot.initializator import init +from telethon.tl.functions.users import GetFullUserRequest + + + + logger = logging.getLogger(__name__) @@ -54,7 +67,6 @@ async def blyad(event: events.NewMessage.Event): start_time = datetime.now() current_time = start_time s = event.message.message - print('blyad') while (current_time - start_time).seconds < 10: s = rotate_words(s, blyads) @@ -78,3 +90,28 @@ async def reboot_advice(event: events.NewMessage.Event): @mark_unread async def smile_back(event: events.NewMessage.Event): return await event.respond(event.message.message) + + +@config.telegram_client.on(events.NewMessage(pattern=r"test")) +async def change_profile_pic_angry(event: events.NewMessage.Event): + #pattern=r"^[У|у]+$" + red_pic = Path(__file__).parent / "profile_pics" / "pic_red.jpg" + client = TelegramClient("my", config.telegram_app_id, config.telegram_api_hash) + # client(DeletePhotosRequest(client.get_profile_photos('me'))) + full = await client(GetFullUserRequest('clockblocker')) + + print(full.about) + +# client = TelegramClient("bot_session", config.telegram_app_id, config.telegram_api_hash) +# await client.connect() +# await client(UploadProfilePhotoRequest( +# await client.upload_file(red_pic) +# )) + # await client.connect() + # await client(UploadProfilePhotoRequest(await client.upload_file(red_pic))) + #return await event.respond("testted") + # with TelegramClient("bot_session", config.telegram_app_id, config.telegram_api_hash) as client: + # return await client(UploadProfilePhotoRequest( + # await client.upload_file(red_pic) + # )) + diff --git a/clockblocker_bot/actions/profile_pics/pic_red.jpg b/clockblocker_bot/actions/profile_pics/pic_red.jpg new file mode 100644 index 0000000000000000000000000000000000000000..4d43fd35a541b83d54bf5224e7fa61704052955d Binary files /dev/null and b/clockblocker_bot/actions/profile_pics/pic_red.jpg differ diff --git a/clockblocker_bot/actions/static_messages/help.txt b/clockblocker_bot/actions/static_messages/help.txt index e382463a602009b4a16d3f204b909a247687c638..2a899264f966dad559c07e3ffd1834d3881d016b 100644 --- a/clockblocker_bot/actions/static_messages/help.txt +++ b/clockblocker_bot/actions/static_messages/help.txt @@ -1 +1 @@ -Я полон Ñюрпризов \ No newline at end of file +Я полон ÑюрпризовЯ полон ÑюрпризовЯ полон ÑюрпризовЯ полон ÑюрпризовЯ полон ÑюрпризовЯ полон ÑюрпризовЯ полон Ñюрпризов \ No newline at end of file diff --git a/clockblocker_bot/utils/decorators.py b/clockblocker_bot/utils/decorators.py index fdd5c9c19d09af682756073313125eda26b0dcf4..089e86eeecdcf94187a75e57c9992e62e96f951e 100644 --- a/clockblocker_bot/utils/decorators.py +++ b/clockblocker_bot/utils/decorators.py @@ -24,17 +24,32 @@ def ignore_with_id(*ids): return wrapper return ignore_inner -def only_clockblocker(f): - @functools.wraps(f) - async def wrapper(event: events.NewMessage.Event): - try: - if event.message.from_id == CLOCKBLOCKER_ID: - await f(event) +def only_with_id(id): + def only_inner(f): + @functools.wraps(f) + async def wrapper(event: events.NewMessage.Event): + try: + if event.message.from_id.user_id == id: + await f(event) - except Exception as e: - logger.error(f"Exception found: {e}") + except Exception as e: + logger.error(f"Exception found: {e}") - return wrapper + return wrapper + return only_inner + + +# def only_clockblocker(f): +# @functools.wraps(f) +# async def wrapper(event: events.NewMessage.Event): +# try: +# if event.message.from_id == CLOCKBLOCKER_ID: +# await f(event) + +# except Exception as e: +# logger.error(f"Exception found: {e}") + +# return wrapper def mark_unread(f):