Ошибка в pythonanywere
Я хотел чтоб аватарка в телеграмме превратилось в часы я посмотрел в интернете и нашёл написал и он работает но когда я пытался запустить в сервере pythonanywere вышла ошибка.
Вот весь код: Main.py:
from telethon import TelegramClient, sync
from telethon.tl.functions.photos import UploadProfilePhotoRequest, DeletePhotosRequest
from datetime import datetime
import time
from config import *
from generate_time_images import *
client = TelegramClient('my_session9911', api_id, api_hash)
client.start()
while True:
change_img()
client(DeletePhotosRequest(client.get_profile_photos('me')))
file = client.upload_file(f"time.png")
client(UploadProfilePhotoRequest(file))
time.sleep(30)
if __name__ == '__main__':
pass
generate_time_images.py:
import time
from PIL import ImageDraw, Image, ImageFont
from datetime import datetime, timedelta
FONT_SIZE = 50
TEXT_Y_POSITION = 1
TEXT_X_POSITION = 1
Tashkent_UTC = 5 #укажите ваш часовой пояс
def convert_time_to_string(dt):
dt += timedelta(hours=Tashkent_UTC)
return f"{dt.hour}:{dt.minute:02}"
def change_img():
start_time = datetime.utcnow()
text = convert_time_to_string(start_time)
row = Image.new('RGBA', (200, 200), "black")# Цвет фона black,white тд
parsed = ImageDraw.Draw(row)
font = ImageFont.truetype("HEADPLANE.ttf", FONT_SIZE)#стиль шрифта
font2 = ImageFont.truetype("HEADPLANE.ttf", 15)
parsed.text((int(row.size[0]*0.23), int(row.size[1]*0.31)), f'{text}',
align="center", font=font, fill=(3,33,212))
parsed.text((45, 110),'Fergana time', # подтекст
align="center", font=font2, fill=(0,0,255))
row.save(f'time.png', "PNG")
if __name__ == '__main__':
change_img()
config.py:
api_id = 'Мой ид'
api_hash = 'Мой хаш'
Там есть ещё шрифт и кеш но я не стал скидывать если прям надо то скажите я закину.
Ответы (1 шт):
Автор решения: Lendoroff
→ Ссылка
Используйте heroku. Чтобы телеграм бот работал на pythonanywhere нужно прокси