-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathScheduler.py
49 lines (38 loc) · 2.3 KB
/
Scheduler.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
from telethon import TelegramClient, sync
from datetime import datetime, timedelta, timezone
import asyncio, logging, random
#logging.basicConfig(level=logging.DEBUG)
client = TelegramClient(api_id=240000,
api_hash='044xxxxxxxxxxxxxxxxxxxxxxx',
connection_retries=1000,
session='Username').start()
ChatWars_Channel = client.get_entity('@chtwrsbot')
Control_Channel_URL = 'https://t.me/joinchat/Faxxxxxxxxxxxxxxxxxx'
async def schedule_arena(days=1):
for day_count in range(1,days+1):
current_time = datetime.now().replace(microsecond=0)
target_time = current_time.replace(hour=4, minute=random.randint(0,59), second=random.randint(0,59)).astimezone(timezone.utc)
delta_t = target_time + timedelta(days=day_count)
await client.send_message(Control_Channel_URL, message="/arena", schedule=delta_t)
print("Scheduled /arena for {} UTC".format(delta_t))
async def schedule_valley(days=1):
for day_count in range(1,days+1):
current_time = datetime.now().replace(microsecond=0)
target_time1 = current_time.replace(hour=6, minute=random.randint(0,59), second=random.randint(0,59)).astimezone(timezone.utc)
delta_t1 = target_time1 + timedelta(days=day_count)
target_time2 = current_time.replace(hour=14, minute=random.randint(0,59), second=random.randint(0,59)).astimezone(timezone.utc)
delta_t2 = target_time2 + timedelta(days=day_count)
target_time3 = current_time.replace(hour=21, minute=random.randint(0,59), second=random.randint(0,59)).astimezone(timezone.utc)
delta_t3 = target_time3 + timedelta(days=day_count)
await client.send_message(Control_Channel_URL, message="/valley", schedule=delta_t1)
await client.send_message(Control_Channel_URL, message="/valley", schedule=delta_t2)
await client.send_message(Control_Channel_URL, message="/valley", schedule=delta_t3)
print("Scheduled /valley for {} UTC".format(delta_t1))
print("Scheduled /valley for {} UTC".format(delta_t2))
print("Scheduled /valley for {} UTC".format(delta_t3))
async def schedule_all(days=1):
await schedule_arena(days=days)
await schedule_valley(days=days)
# run
print("started")
asyncio.get_event_loop().run_until_complete(schedule_all(days=30))