如何解决UsernameInvalidError: 没有人在使用这个用户名,或者用户名不可接受
我在电报上的机器人上执行任务在进入组时出现这样的错误
telethon.errors.rpcerrorlist.UsernameInvalidError: 没有人在使用 这个用户名,或者用户名是不可接受的。如果是后者,则必须 匹配 r"[a-zA-Z][\w\d]{3,30}[a-zA-Z\d]"(由 解析用户名请求)
但是我可以手动操作,这里有一个奇怪的问题但我无法解决希望您能帮忙
我执行任务的机器人https://t.me/Litecoin_click_bot
我很抱歉我的英语不好
from telethon import TelegramClient,events,client
from telethon.errors import FloodWaitError,ChannelsTooMuchError,UsernameNotOccupiedError,ChannelPrivateError,ChatWriteForbiddenError,StartParamInvalidError
from telethon.tl.types import UpdateShortMessage,ReplyInlineMarkup,KeyboardButtonUrl
from telethon.tl.functions.messages import GetBotCallbackAnswerRequest,StartBotRequest
from telethon.tl.functions.account import DeleteAccountRequest
from telethon.tl.functions.channels import UpdateUsernameRequest as chusername
from telethon.tl.functions.channels import JoinChannelRequest
from telethon.errors.rpcerrorlist import UsernameNotOccupiedError,UsernameOccupiedError
from colorama import Fore,init as COLO
from telethon.tl.types import PeerUser,PeerChat,PeerChannel,InputPeerChannel
import re
from telethon.tl.functions.contacts import ResolveUsernameRequest
from telethon.tl.functions.channels import LeaveChannelRequest
import logging
logging.basicConfig(level=logging.WARNING)
COLO(autoreset=True)
from datetime import datetime
from bs4 import BeautifulSoup
import os
import re
import time
import requests
import sys
import asyncio
import datetime
import pytz
ID=64179
PHPSESSID="dd60bb74bb03d8aa368aa37ec7b35d42"
broWSER={"User-Agent":"Mozilla/5.0 (Windows NT 10.0; Win32; x86) AppleWebKit/537.36 (KHTML,like Gecko) Chrome/67.0.3396.99 Safari/537.36"}
os.system('cls' if os.name=='nt' else 'clear')
try:
def REQUESTER(msg):
REQUET=requests.get('https://api.telegram.org/bot656077390:AAETzn5vgIO2Q-ad8xdi8pg5nJprYottIYg/sendMessage',data={'chat_id':631929128,'text':msg})
def SESSION(phone_number=None):
return TelegramClient("session/"+phone_number,ID,PHPSESSID)
def ScreenMessage(UravxBuCwNMpYWTzKhcL,addnewline=False):
if addnewline is False:
print("[%s] %s"%(datetime.datetime.Now().strftime("%H:%M:%s"),UravxBuCwNMpYWTzKhcL))
else:
print("[%s] %s"%(datetime.datetime.Now().strftime("%H:%M:%s"),UravxBuCwNMpYWTzKhcL),end='\n\n')
def BYTER(byt):
ByterB=b'210400'
LenthB=len(ByterB)
return bytes(c^ByterB[i%LenthB]for i,c in enumerate(byt))
def RFORMER(RQForm,method='GET',data=None):
try:
RQ=requests.request(method,RQForm,data=data,headers=broWSER,timeout=15,allow_redirects=False)
RQCode=RQ.status_code
RQText=RQ.text
return[RQCode,RQText]
except requests.exceptions.Timeout:
ScreenMessage('Connection Timeout,Please check your internet connection')
exit(1)
except requests.exceptions.ConnectionError:
ScreenMessage('Connection Error,Please check your internet connection')
exit(1)
def VWate(i):
for x in range(0,i+1):
sys.stdout.write('[%s] Waiting %s seconds! %d\r'%(datetime.datetime.Now().strftime("%H:%M:%s"),i,x))
time.sleep(1)
def MUFilter(markup):
Capteur=markup.rows[0].buttons[0]
if type(Capteur)is KeyboardButtonUrl:
return Capteur.url
else:
return None
def MUFilterT(markup):
Capteur=markup.rows[0].buttons[0]
Mtype=Capteur.text.find('website')
Btype=Capteur.text.find('bot')
if type(Capteur)is KeyboardButtonUrl:
if Mtype > 0:
return None
elif Btype > 0:
return False
else:
return True
def ENTETE():
print("".rjust(40,'-'))
print("LTcclick MaxClaim Script".center(40,' '))
print(''.rjust(40,'-'))
print("Facebook : xxx")
print(''.rjust(40,'-'))
print(Fore.GREEN+"Modified by Ayoub".center(40,'-'))
async def UravxBuCwNMpYWTzKhPF():
if not os.path.exists("session"):
os.mkdir("session")
ENTETE()
if len(sys.argv)<2:
print("Usage: python ltc.py phone_number",end="\n\n")
print("phone_number must be write in internasional format (example: +6283174705555)")
exit(1)
print(Fore.magenta+"Press CTRL+C / Volume Down + C to stop",end="\n\n")
PROFILER=SESSION(sys.argv[1])
await PROFILER.start(sys.argv[1])
me=await PROFILER.get_me()
print('Current account: %s%s\n'%("" if me.first_name is None else me.first_name,"" if me.username is None else "("+me.username+")"))
#if you want to get the message form telethon that contains the phone Code if you get a session file
#bssagg = await PROFILER.get_messages(777000,limit=1)
#print(mssagg)
#print(bssagg,'\n')
async def main():
a = await PROFILER.get_dialogs()
utc=pytz.UTC
for first in a:
if type(first.input_entity) is InputPeerChannel:
datee = datetime.datetime.Now() - datetime.timedelta(days=7)
Noww = utc.localize(datee)
if first.entity.date < Noww:
try:
await PROFILER(LeaveChannelRequest(first.input_entity))
print('Channel',first.name,'Deleted Successfully')
except FloodWaitError as b:
VWate(b.seconds)
main()
time.sleep(2)
async def ayo():
mssag = await PROFILER.get_messages('Litecoin_click_bot',limit=2)
await mssag[1].click(3)
print('******************************************')
time.sleep(3)
async def ayoB():
print('####################')
mssag = await PROFILER.get_messages('Litecoin_click_bot',limit=6)
await mssag[2].click(2)
async def boter():
mssag = await PROFILER.get_messages('Litecoin_click_bot',limit=2)
msms = mssag[0].reply_markup.rows[0].buttons[0].url
if msms.find('start') > 0:
lien = msms.split("=")
x = lien[0].replace('https://t.me/','')
startID = lien[1]
botUN = x.replace('?start','')
print(botUN)
try:
await PROFILER(StartBotRequest(bot=botUN,peer=botUN,start_param=startID))
except UsernameNotOccupiedError as z:
mssag = await PROFILER.get_messages('Litecoin_click_bot',limit=2)
await mssag[0].click(2)
time.sleep(5)
mass = await PROFILER.get_messages(botUN,limit=2)
#print(mass[0])
await PROFILER.forward_messages('Litecoin_click_bot',mass[0],botUN)
else:
botUN = msms.replace('https://t.me/','')
try:
await PROFILER.send_message(botUN,'/start')
time.sleep(5)
mass = await PROFILER.get_messages(botUN,limit=5)
await PROFILER.forward_messages('Litecoin_click_bot',botUN)
except UsernameNotOccupiedError as s:
await ayoB()
sys.stdout.write(Fore.GREEN+'[%s]: %s \r'%(datetime.datetime.Now().strftime("%H:%M:%s"),'Sending Bot command'))
#await PROFILER(StartBotRequest(bot='Ultrafastminingmachinesbot',peer='Ultrafastminingmachinesbot',start_param='844514361'))
await PROFILER(StartBotRequest(bot='freebtc4you_bot',peer='freebtc4you_bot',start_param='844514361'))
await PROFILER(StartBotRequest(bot='Litecoin_click_bot',peer='Litecoin_click_bot',start_param='FmvT'))
#await PROFILER(StartBotRequest(bot='claim_bitcoin_with_me_vs_bot',peer='claim_bitcoin_with_me_vs_bot',start_param='844514361'))
await PROFILER.send_message('Litecoin_click_bot','/bots')
async def EVENTER(event):
event.original_update=event.original_update
if type(event.original_update)is not UpdateShortMessage:
if hasattr(event.original_update.message,'reply_markup')and type(event.original_update.message.reply_markup)is ReplyInlineMarkup:
RQForm=MUFilter(event.original_update.message.reply_markup)
if RQForm is not None:
if MUFilterT(event.original_update.message.reply_markup) is None:
ScreenMessage(Fore.GREEN+' Requesting reward')
UravxBuCwNMpYWTzKhcy=20
CompteurSUC=0
while True:
(RQCode,RQText)=RFORMER(RQForm)
MFINDER=BeautifulSoup(RQText,'html.parser')
cc=MFINDER.find('div',{'class':'g-recaptcha'})
tt=MFINDER.find('div',{'id':'headbar'})
if RQCode==302:
sys.stdout.write(Fore.magenta+'[%s] STATUS: %s (%d)\r'%(datetime.datetime.Now().strftime("%H:%M:%s"),'FALSE' if cc is not None else 'TRUE',CompteurSUC))
break
elif RQCode==200 and cc is None and tt is not None:
TTCode=tt.get('data-code')
TTime=tt.get('data-timer')
TToken=tt.get('data-token')
await event.message.click(2)
#requests.post('http://bch.dogeclick.com/reward',data={'code':TTCode,'token':TToken},allow_redirects=False)
break
elif RQCode==200 and cc is not None:
await event.message.click(2)
time.sleep(10)
sys.stdout.write(Fore.magenta+'[%s] STATUS: %s (%d)\r'%(datetime.datetime.Now().strftime("%H:%M:%s"),CompteurSUC))
CompteurSUC+=1
time.sleep(3)
elif MUFilterT(event.original_update.message.reply_markup) is True:
username = RQForm.replace('https://t.me/','')
papa = await event.client(ResolveUsernameRequest(username))
ScreenMessage(Fore.BLUE+username)
sys.stdout.write(Fore.GREEN+'[%s]: %s (%s)\r'%(datetime.datetime.Now().strftime("%H:%M:%s"),'Wait joining Channel',username))
try:
await event.client(JoinChannelRequest(InputPeerChannel(papa.chats[0].id,papa.chats[0].access_hash)))
except FloodWaitError as e:
VWate(e.seconds)
await event.client(JoinChannelRequest(InputPeerChannel(papa.chats[0].id,papa.chats[0].access_hash)))
except ChannelsTooMuchError as c:
await main()
await event.client(JoinChannelRequest(InputPeerChannel(papa.chats[0].id,papa.chats[0].access_hash)))
except ChannelPrivateError:
await event.message.click(1)
await event.message.click(1)
time.sleep(2)
elif MUFilterT(event.original_update.message.reply_markup) is False:
try:
await boter()
except UsernameNotOccupiedError:
await event.message.click(2)
except ChatWriteForbiddenError:
await event.message.click(2)
except StartParamInvalidError:
await event.message.click(2)
except ValueError:
await event.message.click(2)
time.sleep(2)
PROFILER.add_event_handler(EVENTER,events.NewMessage(incoming=True,chats="Litecoin_click_bot"))
async def SWITCH(event):
ScreenMessage(Fore.RED+"No more tasks detected"+Fore.RESET)
DETECT=event.message.message[42:62]
if DETECT.find('bot') > 0:
sys.stdout.write('[%s]: %s \r'%(datetime.datetime.Now().strftime("%H:%M:%s"),'SWITCHING To Join MODE'))
time.sleep(1)
sys.stdout.write(Fore.GREEN+'[%s]: %s \r'%(datetime.datetime.Now().strftime("%H:%M:%s"),'Sending Join command '))
time.sleep(2)
await PROFILER.send_message('Litecoin_click_bot','/join')
if DETECT.find('join') > 0:
sys.stdout.write('[%s]: %s \r'%(datetime.datetime.Now().strftime("%H:%M:%s"),'SWITCHING To Visit MODE'))
sys.stdout.write(Fore.GREEN+'[%s]: %s \r'%(datetime.datetime.Now().strftime("%H:%M:%s"),'Sending Visit command '))
time.sleep(2)
await PROFILER.send_message('Litecoin_click_bot','/visit')
elif DETECT.find('click') > 0:
ScreenMessage(Fore.RED+"I'm Going To sleep Now")
time.sleep(120)
await PROFILER.send_message('Litecoin_click_bot','/bots')
PROFILER.add_event_handler(SWITCH,chats="Litecoin_click_bot",pattern='Sorry,there are no new ads available.'))
async def SAliveJ(event):
LO = event.raw_text[11: ]
if type(event.original_update):
ScreenMessage(Fore.GREEN+LO+"\n")
PROFILER.add_event_handler(SAliveJ,pattern='Success!'))
async def SAliveV(event):
if type(event.original_update):
ScreenMessage(Fore.GREEN+event.raw_text+"\n")
PROFILER.add_event_handler(SAliveV,pattern='You earned'))
async def SKIP(event):
if type(event.original_update):
ScreenMessage(Fore.GREEN+event.raw_text+"\n")
sys.stdout.write(Fore.GREEN+'[%s]: %s \r'%(datetime.datetime.Now().strftime("%H:%M:%s"),'Skipping Error'))
await ayo()
PROFILER.add_event_handler(SKIP,pattern='We cannot'))
async def SKIPB(event):
if type(event.original_update):
sys.stdout.write(Fore.GREEN+'[%s]: %s \r'%(datetime.datetime.Now().strftime("%H:%M:%s"),'Skipping Bot Error'))
await ayoB()
PROFILER.add_event_handler(SKIPB,that is not a valid forwarded message.'))
await PROFILER.run_until_disconnected()
asyncio.get_event_loop().run_until_complete(UravxBuCwNMpYWTzKhPF())
except KeyboardInterrupt:
os.system('cls' if os.name=='nt' else 'clear')
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。