import notification
import clipboard
import keyboard
import datetime
import calendar
import tweepy
import base64
import json
import time
import glob
import os
import sys
import re
import random
import console
import sound
"""
---初期設定---
▷を押し、表示された数字を DMで伝えて下さい
それと引き換えにこちらがIDを渡しますので、受け取ったAutoIDを30行目 00000 を消して貼り付けてください
"""
# ⤵︎の00000 を消した後 貰ったIDを = の後にそのまま貼り付けてください
Auto_ID = 00000
"""
---使用設定部分---
パスツイ 21:30
ルーム番号 567
の場合
↓↓↓↓↓↓↓↓
pass_tweet_time = "30" ← 21:00 の場合は"00" ※分だけを記入します。
room_id = "567"
----- このように下を書き換えます。------
"""
pass_tweet_time = "00"
room_id = "0000"
"""
↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓
⚠️以下書き換えると動作しなくなります
↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓
"""
flag = 0
flag_S = 0
password = ""
CK="6S7RGNGmiCEbhrcyWTSMpeHox"
CS="roshZEYXQj70LHNbzwJL6JpgPF3qeUwYHAYHafIYwLuSbdiSXk"
AT="1290157814304759808-VS1ZEbu3ZxzP3hIuvMypDGfoJybCky"
AS="RcHmXYuknLXnv2P5BCBHAzhUcXK00EVABzqdujD2lwY5t"
basenumber = "0123456789"
font_item = ["⓪①②③④⑤⑥⑦⑧⑨",
"⓿❶❷❸❹❺❻❼❽❾",
"0123456789",
"𝟘𝟙𝟚𝟛𝟜𝟝𝟞𝟟𝟠𝟡",]
itemlist1 = ["@[a-zA-Z0-9_]+",
"[0-9]{1,2}:[0-5][0-9]",
"[0-9]{1,2}時[0-59]分",
"([0-9]|[0-2][0-9])時",
"[0-5][0-9]分",
"[1-9]{1,2}/[0-9]{1,2}",
"[0-9]{1,2}月([1-3][0-9]|[0-9])日",]
itemlist2 = [" "," ",]
message = {
"no_update":"パスツイ取得中",
"code_notification":"この数字をDMで伝えてください:",
"copy_error":"Twitterリンクのコピー又はフルアクセスの許可をしてください",
"pass_notfound":"パスワードが取得できませんでした",
"waiting_passtweet":"からのパスツイ待機中...",
"stop":"動作可能時間内にパスツイが見つかりませんでした。",
"success":b'SUToqo3oqLzmiJDlip8=',
"fail":b'SUToqo3oqLzlpLHmlZc=',
"repush":"パスツイ予定時間の数秒前にもう一度ボタンを押して下さい",
}
"""
関数
"""
def AutoID(i):
Auto_ID_key = b''
Auto_ID_key_mode = 0
Auto_ID_generate = ['0001','0010','0100','1000','0000',]
Xcode = ["\x207\x204\x208\x209\x400\x102",
"207\x200\x208\x209\x400\x109" ,
"207\x204\x208\x209\x400\x102" ,
"207\x204\x208\x209\x400\x102" ,]
main_key = 3*3
return str(main_key)+Auto_ID_generate[i]
def AutoID_Settings():
for i in Xcode:
num = i+ia
return num
def login(CK,CS,AT,AS):
auth = tweepy.OAuthHandler(CK,CS)
auth.set_access_token(AT,AS)
API = tweepy.API(auth)
return API
def exit():
sys.exit()
def get_username():
user_name = clipboard.get()
if("https" in user_name):
user_name = user_name.split("/")
user_name = user_name[3].split("?")
user_name = user_name[0]
return user_name
else:
print(message["copy_error"])
sys.exit()
def ACencrtrpt(a):
c = str(a)
c = base64.b64encode(c.encode())
return c
def Test(c,d):
if c == d:
return True
else:
key = glob.glob("*.pwd")
key = key[0].split(".")[0]
print(message["code_notification"]+key)
sys.exit()
def check():
file = glob.glob("*.pwd")
i = 0
if not file:
key = int(random.uniform(1,99))*int(random.uniform(99,999))*int(random.uniform(1,9))
key = str(key)
with open(key+".pwd" , mode="w") as f:
f.write("")
notification.schedule(message["code_notification"]+key)
print(message["code_notification"]+key)
sys.exit()
else:
code = file[0].split(".")[0]
return code,i
def tweet_filter(Tweettext):
for i in range(10):
if(font_item[0][i] in Tweettext):
Tweettext = Tweettext.replace(font_item[0][i],basenumber[i])
for j in range(10):
if(font_item[1][j] in Tweettext):
Tweettext = Tweettext.replace(font_item[1][j],basenumber[j])
for k in range(10):
if(font_item[2][k] in Tweettext):
Tweettext = Tweettext.replace(font_item[2][k],basenumber[k])
for l in range(10):
if(font_item[3][l] in Tweettext):
Tweettext = Tweettext.replace(font_item[3][l],basenumber[l])
return Tweettext
def tweet_trim(tweet):
tweet = tweet_filter(tweet)
for i in itemlist1:
tweet = re.sub(i,"",tweet)
for j in itemlist2:
tweet = tweet.replace(j,"")
tweet = re.findall(r"\d+",tweet)
return tweet
def get_time_now():
now_time = datetime.datetime.now()
now_time = str(now_time).split(" ")[1]
now_time = now_time.split(":")
now_time_minute = now_time[1]
now_time_seconds = now_time[2].split(".")[0]
return now_time_minute,now_time_seconds
API = login(CK,CS,AT,AS)
Check , Check2 = check()
Check = ACencrtrpt(Check)
Test(Auto_ID,Check)
order = API.user_timeline("auto_test_",count=1)
for i in order:
order = i.text
if("del" in order):
order = order.split(",")[1]
order = order+".pwd"
if(os.path.isfile(order)):
os.remove(order)
sys.exit()
elif("mes" in order):
order_ = order.split(",")[1]
order_mes = order.split(",")[2]
order_ = order_+".pwd"
if(os.path.isfile(order_)):
print(order_mes)
sys.exit()
num = glob.glob("*.pwd")
num = num[0].split(".")[0]
print(num)
user_name = get_username()
j,k = get_time_now()
if(pass_tweet_time == "00"):
times = "59"
else:
times = str(int(pass_tweet_time)-1)
if(j == pass_tweet_time):
s = 0
elif(j == times and int(k) < 40):
print(message["repush"])
sys.exit()
elif not j == times and not j == pass_tweet_time:
print(message["repush"])
sys.exit()
print("@"+user_name+message["waiting_passtweet"])
if(pass_tweet_time == "00"):
passTb = "59"
else:
passTb = str(int(pass_tweet_time)-1)
while True:
now_time_minute , now_time_seconds = get_time_now()
if(now_time_minute == passTb and now_time_seconds == "58"):
break
elif(now_time_minute == passTb and now_time_seconds == "59"):
break
elif(now_time_minute == pass_tweet_time):
c , d = get_time_now()
flag_S = 0
break
time.sleep(0.01)
while True:
a , b = get_time_now()
if(flag_S == 0):
if(b == "12"):
print(message["stop"])
sys.exit()
else:
if(int(d) >= 50):
if(b == "59"):
print(message["stop"])
sys.exit()
else:
if(int(b) == int(d)+12):
print(message["stop"])
sys.exit()
tweet = API.user_timeline(user_name,count = 1)
for i in tweet:
tweet = i.text
tweet_time = i.created_at
tweet_time = re.findall(r"\d+",str(tweet_time))
tweet_time_minute = tweet_time[4]
tweet_time_second = tweet_time[5]
if(pass_tweet_time == "00"):
pass_tweet_time_ = "59"
else:
pass_tweet_time_ = str(int(pass_tweet_time)-1)
if(len(pass_tweet_time_) == 1):
pass_tweet_time_ = "0" + pass_tweet_time_
for i in range(57,60):
if(pass_tweet_time_ == tweet_time_minute and str(i) == tweet_time_second):
flag = 1
if(pass_tweet_time == tweet_time_minute):
flag = 1
if(flag == 1):
break
else:
console.clear()
print(message["no_update"]+" ["+str(datetime.datetime.now()).split(" ")[1]+"]")
time.sleep(0.02)
tweet = tweet_trim(tweet)
if(room_id in tweet):
room_id_index = tweet.index(room_id)
if(room_id_index == 0):
password = tweet[1]
elif(room_id_index == 1):
password = tweet[0]
elif(len(tweet) >= 1):
password = tweet[0]
else:
password = tweet[0]
sound.play_effect(name="arcade:Coin_3",volume=0.025)
keyboard.insert_text(password)
keyboard.insert_text("\n")
notification.schedule(password)
print(password)
sys.exit()