
No License
Python
2021年03月18日
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
"""
貼り付け後タスクを切りTwitterのリンクをコピーします。
コピー後Python起動⇨右上の▶︎6桁の数字が出るが
無視でok 設定
"""
Twitter_ID = "記入なしでok"
""
"""
DMでもらったコード=""
---使用設定部分---
パスツイ 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 = b'dXJkUzNkS0tRMEFWcFZmNGdzVHBTazRYMQ=='
CKS = b'UnRmWFlwYk12Mk44YlpvTGJJeWJ5NGd4a1R1U3NzbnA0ZlJqNU1oUkp5ckpweWxGOXI='
AT = "1121220499621597184-Y0rP3q83f6JnzKBlrggiF0iLZOaE37"
ATS = "7DweypmlnnXIL5dKjGRnZned137n2uHnClYSXyXUL0AcG"
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 login(CK,CKS,AT,ATS):
CK = base64.b64decode(CK.decode())
CKS = base64.b64decode(CKS.decode())
auth = tweepy.OAuthHandler(str(CK).split("'")[1],str(CKS).split("'")[1])
auth.set_access_token(AT,ATS)
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,CKS,AT,ATS)
Check , Check2 = 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()
if not Check2 == 0:
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()
No one still commented. Please first comment.
Output