From 1f4882b9f75a1729e0f1a74c8d8d143f5c71d832 Mon Sep 17 00:00:00 2001 From: Stefano Pigozzi Date: Fri, 30 Aug 2019 15:36:04 +0200 Subject: [PATCH] Update docs --- docs/doctrees/apireference.doctree | Bin 307669 -> 307699 bytes docs/doctrees/environment.pickle | Bin 3173269 -> 3173269 bytes docs/doctrees/index.doctree | Bin 4147 -> 4147 bytes docs/html/_sources/index.rst.txt | 2 +- docs/html/apireference.html | 4 ++-- docs/html/index.html | 8 +++++++- docs/html/searchindex.js | 2 +- docs_source/index.rst | 2 +- 8 files changed, 12 insertions(+), 6 deletions(-) diff --git a/docs/doctrees/apireference.doctree b/docs/doctrees/apireference.doctree index add902dea54c286f03ee841aecf040c55124b9ef..3a8aed667003e7b498cbf9859f7c443293c3ad88 100644 GIT binary patch delta 41447 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 IUo5`*3mf#k2mk;8 delta 547 zcmX}ny-QnR6bA6zB&JC;H6ONq)SLU>_ukYdX%b6{2Bbq=ii4fvPzPg?8@#FHyF!;1 z+9A-?4>(P?l8A$ggWwQx2ywKa&@MvJ!9PI!1MJ|Fi#Yt?J%G zzM@47AAfvL7$+UsO+htG-xLr1RL7{qW3(-clv0MN$P$=EippN>CXDxi;zh_f<_LWX z*vYE+sm-0Xav`59YjnaBciE}C>~&_RYsE#syFC!LsD@l6t@uGJSBx4jQG?Te`GwI= z&t>w)dV-2_fQ}^}{Y3+Oz@AR)IlYojBZGHu>8<+8sJhPF))hVXp3WJkF!P~z#8%cy zt6FLQOW=(vnD_t8oX!b{Uz?3;vmt;PEMSEmu)zbcg9Dt<3w_{%htLmh@PHS5FaVEQ z&Bo*1CE>6-YZ-(g7;ep4My{&ZP1Q!=35>R;YU0ffc9U^GNWee_4hpCcfTu79&magP R2*Y!TKonxF$@us};udD5#L55w diff --git a/docs/doctrees/index.doctree b/docs/doctrees/index.doctree index 537d5ccbee5830c72fa64667f164da3105556d5c..78f2192e0e17f8ce4aff03c2bcc57306f1380f45 100644 GIT binary patch delta 14 Vcmdn2uvuZlb0$XS%`cd|c>yde1vvl! delta 14 Vcmdn2uvuZlb0$Wn%`cd|c>ydY1vmfz diff --git a/docs/html/_sources/index.rst.txt b/docs/html/_sources/index.rst.txt index 38a3a7d3..8adfa64d 100644 --- a/docs/html/_sources/index.rst.txt +++ b/docs/html/_sources/index.rst.txt @@ -4,7 +4,7 @@ royalnet Welcome to the documentation of Royalnet! .. toctree:: - :maxdepth: 2 + :maxdepth: 3 creatingacommand apireference diff --git a/docs/html/apireference.html b/docs/html/apireference.html index 5f1d467b..5cff7a9f 100644 --- a/docs/html/apireference.html +++ b/docs/html/apireference.html @@ -484,7 +484,7 @@
class royalnet.bots.GenericBot(*, royalnet_config: Optional[royalnet.network.royalnetconfig.RoyalnetConfig] = None, database_config: Optional[royalnet.database.databaseconfig.DatabaseConfig] = None, commands: List[Type[royalnet.commands.command.Command]] = None, sentry_dsn: Optional[str] = None, loop: asyncio.events.AbstractEventLoop = None)

A generic bot class, to be used as base for the other more specific classes, such as -royalnet.bots.TelegramBot and royalnet.bots.DiscordBot.

+royalnet.bots.TelegramBot and royalnet.bots.DiscordBot.

_data_factory() → Type[royalnet.commands.commanddata.CommandData]
@@ -784,7 +784,7 @@ That probably means, the database row identifying the user.

class royalnet.database.DatabaseConfig(database_uri: str, master_table: Type, identity_table: Type, identity_column_name: str)
-

The configuration to be used for the royalnet.database.Alchemy component of royalnet.bots.GenericBot.

+

The configuration to be used for the royalnet.database.Alchemy component of royalnet.bots.GenericBot.

diff --git a/docs/html/index.html b/docs/html/index.html index 3bf01527..53a29943 100644 --- a/docs/html/index.html +++ b/docs/html/index.html @@ -154,7 +154,13 @@
  • Royalnet Commands
    • Creating a new Command
    • -
    • Command arguments
    • +
    • Command arguments +
    • Coroutines and slow operations
    • Accessing the database
    • Comunicating via Royalnet
    • diff --git a/docs/html/searchindex.js b/docs/html/searchindex.js index 88b0cc09..9f5756ea 100644 --- a/docs/html/searchindex.js +++ b/docs/html/searchindex.js @@ -1 +1 @@ -Search.setIndex({docnames:["apireference","creatingacommand","index"],envversion:{"sphinx.domains.c":1,"sphinx.domains.changeset":1,"sphinx.domains.citation":1,"sphinx.domains.cpp":1,"sphinx.domains.javascript":1,"sphinx.domains.math":2,"sphinx.domains.python":1,"sphinx.domains.rst":1,"sphinx.domains.std":1,"sphinx.ext.intersphinx":1,sphinx:56},filenames:["apireference.rst","creatingacommand.rst","index.rst"],objects:{"royalnet.audio":{FileAudioSource:[0,1,1,""],YtdlDiscord:[0,1,1,""],YtdlFile:[0,1,1,""],YtdlInfo:[0,1,1,""],YtdlMp3:[0,1,1,""]},"royalnet.audio.FileAudioSource":{is_opus:[0,2,1,""],read:[0,2,1,""]},"royalnet.audio.YtdlDiscord":{"delete":[0,2,1,""],convert_to_pcm:[0,2,1,""],create_and_ready_from_url:[0,2,1,""],create_from_url:[0,2,1,""],info:[0,2,1,""],pcm_available:[0,2,1,""],ready_up:[0,2,1,""],spawn_audiosource:[0,2,1,""]},"royalnet.audio.YtdlFile":{"delete":[0,2,1,""],_default_ytdl_args:[0,3,1,""],download_file:[0,2,1,""],download_from_url:[0,2,1,""],has_info:[0,2,1,""],is_downloaded:[0,2,1,""],open:[0,2,1,""],update_info:[0,2,1,""]},"royalnet.audio.YtdlInfo":{__init__:[0,2,1,""],_default_ytdl_args:[0,3,1,""],retrieve_for_url:[0,2,1,""],to_discord_embed:[0,2,1,""]},"royalnet.audio.YtdlMp3":{"delete":[0,2,1,""],convert_to_mp3:[0,2,1,""],create_and_ready_from_url:[0,2,1,""],create_from_url:[0,2,1,""],info:[0,2,1,""],pcm_available:[0,2,1,""],ready_up:[0,2,1,""]},"royalnet.bots":{DiscordBot:[0,1,1,""],DiscordConfig:[0,1,1,""],GenericBot:[0,1,1,""],TelegramBot:[0,1,1,""],TelegramConfig:[0,1,1,""]},"royalnet.bots.DiscordBot":{_bot_factory:[0,2,1,""],_data_factory:[0,2,1,""],_init_client:[0,2,1,""],_init_voice:[0,2,1,""],_interface_factory:[0,2,1,""],add_to_music_data:[0,2,1,""],advance_music_data:[0,2,1,""],interface_name:[0,3,1,""],run:[0,2,1,""],update_activity_with_source_title:[0,2,1,""]},"royalnet.bots.GenericBot":{_data_factory:[0,2,1,""],_init_commands:[0,2,1,""],_init_database:[0,2,1,""],_init_royalnet:[0,2,1,""],_interface_factory:[0,2,1,""],_network_handler:[0,2,1,""],interface_name:[0,3,1,""],run:[0,2,1,""]},"royalnet.bots.TelegramBot":{_data_factory:[0,2,1,""],_handle_update:[0,2,1,""],_init_client:[0,2,1,""],_interface_factory:[0,2,1,""],interface_name:[0,3,1,""],run:[0,2,1,""]},"royalnet.commands":{Command:[0,1,1,""],CommandArgs:[0,1,1,""],CommandData:[0,1,1,""],CommandInterface:[0,1,1,""]},"royalnet.commands.Command":{description:[0,3,1,""],name:[0,3,1,""],require_alchemy_tables:[0,3,1,""],run:[0,2,1,""],syntax:[0,3,1,""]},"royalnet.commands.CommandArgs":{__getitem__:[0,2,1,""],joined:[0,2,1,""],match:[0,2,1,""],optional:[0,2,1,""]},"royalnet.commands.CommandData":{get_author:[0,2,1,""],reply:[0,2,1,""]},"royalnet.commands.CommandInterface":{alchemy:[0,3,1,""],bot:[0,3,1,""],loop:[0,3,1,""],name:[0,3,1,""],net_request:[0,2,1,""],prefix:[0,3,1,""],register_net_handler:[0,2,1,""],unregister_net_handler:[0,2,1,""]},"royalnet.database":{Alchemy:[0,1,1,""],DatabaseConfig:[0,1,1,""],relationshiplinkchain:[0,4,1,""]},"royalnet.database.Alchemy":{__init__:[0,2,1,""],_create_tables:[0,2,1,""],session_acm:[0,2,1,""],session_cm:[0,2,1,""]},"royalnet.error":{CurrentlyDisabledError:[0,5,1,""],ExternalError:[0,5,1,""],FileTooBigError:[0,5,1,""],InvalidConfigError:[0,5,1,""],InvalidInputError:[0,5,1,""],NoneFoundError:[0,5,1,""],RoyalnetRequestError:[0,5,1,""],RoyalnetResponseError:[0,5,1,""],TooManyFoundError:[0,5,1,""],UnregisteredError:[0,5,1,""],UnsupportedError:[0,5,1,""]},"royalnet.network":{ConnectionClosedError:[0,5,1,""],NetworkError:[0,5,1,""],NotConnectedError:[0,5,1,""],NotIdentifiedError:[0,5,1,""],Package:[0,1,1,""],Request:[0,1,1,""],Response:[0,1,1,""],ResponseError:[0,1,1,""],ResponseSuccess:[0,1,1,""],RoyalnetConfig:[0,1,1,""],RoyalnetLink:[0,1,1,""],RoyalnetServer:[0,1,1,""]},"royalnet.network.Package":{__init__:[0,2,1,""],from_dict:[0,2,1,""],from_json_bytes:[0,2,1,""],from_json_string:[0,2,1,""],reply:[0,2,1,""],to_dict:[0,2,1,""],to_json_bytes:[0,2,1,""],to_json_string:[0,2,1,""]},"royalnet.network.Request":{from_dict:[0,2,1,""],to_dict:[0,2,1,""]},"royalnet.network.Response":{from_dict:[0,2,1,""],raise_on_error:[0,2,1,""],to_dict:[0,2,1,""]},"royalnet.network.ResponseError":{raise_on_error:[0,2,1,""]},"royalnet.network.ResponseSuccess":{raise_on_error:[0,2,1,""]},"royalnet.network.RoyalnetLink":{connect:[0,2,1,""],identify:[0,2,1,""],receive:[0,2,1,""],request:[0,2,1,""],run:[0,2,1,""],send:[0,2,1,""]},"royalnet.network.RoyalnetServer":{find_client:[0,2,1,""],find_destination:[0,2,1,""],listener:[0,2,1,""],route_package:[0,2,1,""],serve:[0,2,1,""],start:[0,2,1,""]},"royalnet.utils":{NetworkHandler:[0,1,1,""],andformat:[0,4,1,""],asyncify:[0,4,1,""],cdj:[0,4,1,""],discord_escape:[0,4,1,""],fileformat:[0,4,1,""],numberemojiformat:[0,4,1,""],ordinalformat:[0,4,1,""],parse_5etools_entry:[0,4,1,""],plusformat:[0,4,1,""],safeformat:[0,4,1,""],sleep_until:[0,4,1,""],splitstring:[0,4,1,""],telegram_escape:[0,4,1,""],ytdldateformat:[0,4,1,""]},"royalnet.utils.NetworkHandler":{message_type:[0,3,1,""]},"royalnet.web":{Royalprint:[0,1,1,""],create_app:[0,4,1,""]},royalnet:{audio:[0,0,0,"-"],bots:[0,0,0,"-"],commands:[0,0,0,"-"],database:[0,0,0,"-"],error:[0,0,0,"-"],network:[0,0,0,"-"],utils:[0,0,0,"-"],web:[0,0,0,"-"]}},objnames:{"0":["py","module","Python module"],"1":["py","class","Python class"],"2":["py","method","Python method"],"3":["py","attribute","Python attribute"],"4":["py","function","Python function"],"5":["py","exception","Python exception"]},objtypes:{"0":"py:module","1":"py:class","2":"py:method","3":"py:attribute","4":"py:function","5":"py:exception"},terms:{"20m":0,"byte":0,"class":[0,1],"default":[0,1],"final":0,"function":[0,1],"import":1,"int":0,"new":[0,2],"null":0,"return":[0,1],"short":1,"static":0,"super":1,"true":0,"try":[0,1],"while":[0,1],And:1,For:1,That:0,The:[0,1],Then:[0,1],These:[0,1],Use:0,__dict__:0,__doc__:0,__getitem__:0,__init__:[0,1],__module__:0,__slots__:0,__weakref__:0,_bot_factori:0,_create_t:0,_data_factori:0,_default_ytdl_arg:0,_handle_upd:0,_init_cli:0,_init_command:0,_init_databas:0,_init_royalnet:0,_init_voic:0,_interface_factori:0,_network_handl:0,abl:0,about:0,abstracteventloop:0,access:[0,2],accur:0,add:0,add_to_music_data:0,added:[0,1],adding:[0,1],addit:0,address:0,advance_music_data:0,akin:0,alchemi:0,all:0,allow:[0,1],also:0,altern:0,alwai:0,amount:0,andformat:0,ani:[0,1],anoth:0,anymor:0,anystr:0,api:2,app:0,applic:0,arg:[0,1],argument:[0,2],around:0,arrai:0,async:[0,1],asyncifi:[0,1],asyncio:[0,1],asyncron:0,attempt:0,attribut:[0,1],audio:2,audiosourc:0,author:0,autocomplet:0,automat:0,avail:0,avoid:1,await:1,banana:1,base:0,becaus:1,been:0,befor:1,begin:1,being:[0,1],between:0,big:0,block:0,blockingli:0,blueprint:0,bool:0,bot:[1,2],both:0,bufferediobas:0,bug:1,call:[0,1],callabl:0,can:[0,1],cancel:0,cannot:0,carb:1,carbonara:1,caus:1,caution:0,cdj:0,certain:1,chain:0,chang:0,change_pres:0,channel:0,charact:0,chat:[0,1],check:0,class_:0,classmethod:0,client:0,close:0,clue:0,code:[0,1],command:2,commandarg:[0,1],commanddata:[0,1],commandinterfac:0,commun:0,complet:0,complex:1,compon:0,comun:2,config:0,config_obj:0,configur:0,connect:0,connectedcli:0,connectionclosederror:0,consid:1,consum:0,contain:0,context:0,convers:0,convert:0,convert_to_mp3:0,convert_to_pcm:0,core:0,coroutin:[0,2],correctli:0,correspond:0,creat:[0,2],create_and_ready_from_url:0,create_app:0,create_from_url:0,current:0,currentlydisablederror:0,custom:0,dai:0,data:[0,1],databas:2,database_config:0,database_uri:0,databaseconfig:0,date:0,datetim:0,db_path:0,declar:0,def:1,delet:0,dent:1,describ:0,descript:[0,1],destin:0,destination_conv_id:0,detail:0,dfile:0,dict:0,dictionari:0,directli:1,disabl:0,discord:0,discord_config:0,discord_escap:0,discordbot:0,discordcli:0,discordconfig:0,displai:0,doc:0,docstr:0,document:2,doe:[0,1],doesn:0,don:[0,1],done:1,download:0,download_1_terabyte_of_spaghetti:1,download_fil:0,download_from_url:0,dynam:0,eas:0,edit:0,effect:1,either:0,element:0,emb:0,emoji:1,empti:0,encod:0,end:0,ending_class:0,engin:0,enough:1,ensur:0,entri:0,envvar:0,epoch:0,error:[1,2],error_data:0,error_if_non:0,escap:0,even:0,event:0,everi:[0,1],everyth:0,exact:1,exampl:[0,1],except:0,execut:[0,1],exist:[0,1],expect:0,ext:0,externalerror:0,extra_info:0,extract:0,extract_info:0,fals:0,featur:0,fetch:0,file:[0,1],fileaudiosourc:0,fileformat:0,filenam:0,filetoobigerror:0,find:0,find_client:0,find_destin:0,finish:1,first:1,flask:0,follow:0,format:0,found:0,from:[0,1],from_dict:0,from_json_byt:0,from_json_str:0,from_object:0,fullfil:0,gener:0,genericbot:0,get:[0,1],get_author:0,github:2,greater:0,group:[0,1],guild:0,handl:0,handler:0,has:[0,1],has_info:0,have:[0,1],how:0,html:0,http:0,identifi:0,identity_column_nam:0,identity_t:0,ifi:0,ignor:0,ignoreerror:0,imag:1,import_nam:0,incom:0,incomplet:0,index:[0,2],inf:0,info:0,inform:0,inherit:[0,1],initi:0,input:0,insid:1,instanc:0,instead:[0,1],interfac:[0,1],interface_nam:0,invalid:0,invalidconfigerror:0,invalidinputerror:[0,1],is_download:0,is_opu:0,isn:[0,1],itali:1,item:0,join:[0,1],json:0,jsonabl:0,just:[0,1],keep:1,kei:0,keyword:1,kind:1,kwarg:0,last:0,less:0,like:[0,1],link:0,link_typ:0,list:[0,1],listen:0,login:0,look:[0,1],loop:0,made:0,mai:1,main:0,mainli:0,maintain:0,make:[0,1],manag:0,markup:0,master_secret:0,master_t:0,master_uri:0,match:[0,1],max:0,mean:[0,1],meantim:1,memori:0,mention:1,messag:[0,1],message_typ:0,method:[0,1],middl:0,might:0,minimum:[0,1],miscellan:0,miss:0,month:0,more:[0,1],multipl:[0,1],music_data:0,must:0,name:[0,1],need:0,net_request:0,network:2,network_handl:0,networkerror:0,networkhandl:0,next:[0,1],nid:0,no_warn:0,nobodi:0,node:0,non:0,none:[0,1],nonefounderror:0,noplaylist:0,normal:1,notat:0,notconnectederror:0,noth:0,notic:1,notidentifiederror:0,notimpl:0,now:[0,1],number:[0,1],numberemojiformat:0,object:[0,1],offset:0,onc:[0,1],one:0,ones:0,onli:[0,1],open:0,oper:2,option:0,optional_arg:0,opu:0,ordinalformat:0,org:0,other:[0,1],otherwis:0,outdat:0,output:0,outtmpl:0,overrid:1,packag:0,packet:0,page:0,paramet:[0,1],parse_5etools_entri:0,part:1,pass:[0,1],path:0,pattern:[0,1],pcm:0,pcm_avail:0,pickl:0,ping:1,pingcommand:1,plai:[0,1],plusformat:0,pong:1,port:0,possibl:[0,1],prefix:0,prepar:0,prepend:0,presenc:0,present:1,previou:1,previous:1,probabl:0,properti:0,python:1,quiet:0,rais:[0,1],raise_on_error:0,read:0,readi:1,ready_up:0,real:0,realli:0,receiv:[0,1],reciev:0,recreat:0,refer:2,regex:0,regist:0,register_net_handl:0,relat:0,relationshiplinkchain:0,remov:0,replac:0,repli:[0,1],request:[0,1],request_dict:0,request_handl:0,requir:[0,1],require_alchemy_t:0,require_at_least:[0,1],required_arg:0,required_secret:0,required_t:0,respect:1,respons:0,responseerror:0,responsesuccess:0,rest:1,result:[0,1],retriev:0,retrieve_for_url:0,right:0,right_now:1,root_path:0,rout:0,route_packag:0,row:[0,1],royalcod:0,royalnet:0,royalnet_config:0,royalnetconfig:0,royalnetlink:0,royalnetrequesterror:0,royalnetresponseerror:0,royalnetserv:0,royalprint:0,run:[0,1],safeformat:0,same:1,script:1,second:0,secret:0,secret_kei:0,select:0,self:[0,1],send:[0,1],sent:[0,1],sentry_dsn:0,separ:[0,1],sequenc:0,serv:0,server:0,session_acm:0,session_cm:0,set:0,should:[0,1],side:1,signal:0,simpl:1,singl:0,skip:0,sleep:1,sleep_until:0,slow:2,small:[0,1],some:1,someth:0,somewher:0,song:0,sourc:0,source_conv_id:0,space:[0,1],spaghetti:1,spaghetticommand:1,spawn_audiosourc:0,special:1,specif:[0,1],specifi:[0,1],splitstr:0,sqlalchemi:0,stai:1,start:[0,1],starting_class:0,statement:0,static_fold:0,static_url_path:0,statu:0,stop:1,store:0,str:[0,1],stream:0,string:0,subdomain:0,submodul:0,success:0,support:0,syntax:0,tabl:0,task:0,telegram:[0,1],telegram_config:0,telegram_escap:0,telegrambot:0,telegramconfig:0,tell:1,template_fold:0,temporar:0,text:0,than:0,thei:[0,1],them:[0,1],therefor:0,thi:[0,1],thing:1,think:1,thought:1,through:[0,1],time:[0,1],titl:0,to_dict:0,to_discord_emb:0,to_json_byt:0,to_json_str:0,token:0,too:[0,1],toomanyfounderror:0,tri:1,tupl:[0,1],two:0,type:[0,1],underscor:0,undescrib:0,unexpect:0,unexpectedli:0,union:0,unregister_net_handl:0,unregisterederror:0,unsupportederror:0,until:[0,1],updat:0,update_activity_with_source_titl:0,update_info:0,uri:0,url:0,url_default:0,url_prefix:0,use:[0,1],used:[0,1],useful:0,user:[0,1],uses:0,using:[0,1],usual:0,utf8:0,util:[1,2],uuid:0,valid:0,valu:0,variabl:0,variou:0,via:2,video:0,voic:0,wai:[0,1],wait:0,want:[0,1],wasn:1,web:2,websocket:0,websocketserverprotocol:0,weird:0,welcom:2,went:0,were:[0,1],what:1,when:[0,1],whenev:1,where:0,which:[0,1],why:0,without:0,word:0,work:[0,1],worth:0,would:0,wrap:1,wrapper:0,written:0,wrong:0,wrote:1,year:0,yet:0,you:[0,1],your:1,youtub:0,youtube_dl:0,youtubedl:0,ytdl_arg:0,ytdl_file:0,ytdldateformat:0,ytdldiscord:0,ytdlfile:0,ytdlinfo:0,ytdlmp3:0,yyyi:0,yyyymmdd:0},titles:["API Reference","Royalnet Commands","royalnet"],titleterms:{"new":1,access:1,api:0,argument:1,audio:0,bot:0,command:[0,1],comun:1,coroutin:1,creat:1,databas:[0,1],direct:1,error:0,express:1,full:1,link:2,network:0,oper:1,option:1,refer:0,regular:1,royalnet:[1,2],slow:1,some:2,string:1,useful:2,util:0,via:1,web:0}}) \ No newline at end of file +Search.setIndex({docnames:["apireference","creatingacommand","index"],envversion:{"sphinx.domains.c":1,"sphinx.domains.changeset":1,"sphinx.domains.citation":1,"sphinx.domains.cpp":1,"sphinx.domains.javascript":1,"sphinx.domains.math":2,"sphinx.domains.python":1,"sphinx.domains.rst":1,"sphinx.domains.std":1,"sphinx.ext.intersphinx":1,sphinx:56},filenames:["apireference.rst","creatingacommand.rst","index.rst"],objects:{"royalnet.audio":{FileAudioSource:[0,1,1,""],YtdlDiscord:[0,1,1,""],YtdlFile:[0,1,1,""],YtdlInfo:[0,1,1,""],YtdlMp3:[0,1,1,""]},"royalnet.audio.FileAudioSource":{is_opus:[0,2,1,""],read:[0,2,1,""]},"royalnet.audio.YtdlDiscord":{"delete":[0,2,1,""],convert_to_pcm:[0,2,1,""],create_and_ready_from_url:[0,2,1,""],create_from_url:[0,2,1,""],info:[0,2,1,""],pcm_available:[0,2,1,""],ready_up:[0,2,1,""],spawn_audiosource:[0,2,1,""]},"royalnet.audio.YtdlFile":{"delete":[0,2,1,""],_default_ytdl_args:[0,3,1,""],download_file:[0,2,1,""],download_from_url:[0,2,1,""],has_info:[0,2,1,""],is_downloaded:[0,2,1,""],open:[0,2,1,""],update_info:[0,2,1,""]},"royalnet.audio.YtdlInfo":{__init__:[0,2,1,""],_default_ytdl_args:[0,3,1,""],retrieve_for_url:[0,2,1,""],to_discord_embed:[0,2,1,""]},"royalnet.audio.YtdlMp3":{"delete":[0,2,1,""],convert_to_mp3:[0,2,1,""],create_and_ready_from_url:[0,2,1,""],create_from_url:[0,2,1,""],info:[0,2,1,""],pcm_available:[0,2,1,""],ready_up:[0,2,1,""]},"royalnet.bots":{DiscordBot:[0,1,1,""],DiscordConfig:[0,1,1,""],GenericBot:[0,1,1,""],TelegramBot:[0,1,1,""],TelegramConfig:[0,1,1,""]},"royalnet.bots.DiscordBot":{_bot_factory:[0,2,1,""],_data_factory:[0,2,1,""],_init_client:[0,2,1,""],_init_voice:[0,2,1,""],_interface_factory:[0,2,1,""],add_to_music_data:[0,2,1,""],advance_music_data:[0,2,1,""],interface_name:[0,3,1,""],run:[0,2,1,""],update_activity_with_source_title:[0,2,1,""]},"royalnet.bots.GenericBot":{_data_factory:[0,2,1,""],_init_commands:[0,2,1,""],_init_database:[0,2,1,""],_init_royalnet:[0,2,1,""],_interface_factory:[0,2,1,""],_network_handler:[0,2,1,""],interface_name:[0,3,1,""],run:[0,2,1,""]},"royalnet.bots.TelegramBot":{_data_factory:[0,2,1,""],_handle_update:[0,2,1,""],_init_client:[0,2,1,""],_interface_factory:[0,2,1,""],interface_name:[0,3,1,""],run:[0,2,1,""]},"royalnet.commands":{Command:[0,1,1,""],CommandArgs:[0,1,1,""],CommandData:[0,1,1,""],CommandInterface:[0,1,1,""]},"royalnet.commands.Command":{description:[0,3,1,""],name:[0,3,1,""],require_alchemy_tables:[0,3,1,""],run:[0,2,1,""],syntax:[0,3,1,""]},"royalnet.commands.CommandArgs":{__getitem__:[0,2,1,""],joined:[0,2,1,""],match:[0,2,1,""],optional:[0,2,1,""]},"royalnet.commands.CommandData":{get_author:[0,2,1,""],reply:[0,2,1,""]},"royalnet.commands.CommandInterface":{alchemy:[0,3,1,""],bot:[0,3,1,""],loop:[0,3,1,""],name:[0,3,1,""],net_request:[0,2,1,""],prefix:[0,3,1,""],register_net_handler:[0,2,1,""],unregister_net_handler:[0,2,1,""]},"royalnet.database":{Alchemy:[0,1,1,""],DatabaseConfig:[0,1,1,""],relationshiplinkchain:[0,4,1,""]},"royalnet.database.Alchemy":{__init__:[0,2,1,""],_create_tables:[0,2,1,""],session_acm:[0,2,1,""],session_cm:[0,2,1,""]},"royalnet.error":{CurrentlyDisabledError:[0,5,1,""],ExternalError:[0,5,1,""],FileTooBigError:[0,5,1,""],InvalidConfigError:[0,5,1,""],InvalidInputError:[0,5,1,""],NoneFoundError:[0,5,1,""],RoyalnetRequestError:[0,5,1,""],RoyalnetResponseError:[0,5,1,""],TooManyFoundError:[0,5,1,""],UnregisteredError:[0,5,1,""],UnsupportedError:[0,5,1,""]},"royalnet.network":{ConnectionClosedError:[0,5,1,""],NetworkError:[0,5,1,""],NotConnectedError:[0,5,1,""],NotIdentifiedError:[0,5,1,""],Package:[0,1,1,""],Request:[0,1,1,""],Response:[0,1,1,""],ResponseError:[0,1,1,""],ResponseSuccess:[0,1,1,""],RoyalnetConfig:[0,1,1,""],RoyalnetLink:[0,1,1,""],RoyalnetServer:[0,1,1,""]},"royalnet.network.Package":{__init__:[0,2,1,""],from_dict:[0,2,1,""],from_json_bytes:[0,2,1,""],from_json_string:[0,2,1,""],reply:[0,2,1,""],to_dict:[0,2,1,""],to_json_bytes:[0,2,1,""],to_json_string:[0,2,1,""]},"royalnet.network.Request":{from_dict:[0,2,1,""],to_dict:[0,2,1,""]},"royalnet.network.Response":{from_dict:[0,2,1,""],raise_on_error:[0,2,1,""],to_dict:[0,2,1,""]},"royalnet.network.ResponseError":{raise_on_error:[0,2,1,""]},"royalnet.network.ResponseSuccess":{raise_on_error:[0,2,1,""]},"royalnet.network.RoyalnetLink":{connect:[0,2,1,""],identify:[0,2,1,""],receive:[0,2,1,""],request:[0,2,1,""],run:[0,2,1,""],send:[0,2,1,""]},"royalnet.network.RoyalnetServer":{find_client:[0,2,1,""],find_destination:[0,2,1,""],listener:[0,2,1,""],route_package:[0,2,1,""],serve:[0,2,1,""],start:[0,2,1,""]},"royalnet.utils":{NetworkHandler:[0,1,1,""],andformat:[0,4,1,""],asyncify:[0,4,1,""],cdj:[0,4,1,""],discord_escape:[0,4,1,""],fileformat:[0,4,1,""],numberemojiformat:[0,4,1,""],ordinalformat:[0,4,1,""],parse_5etools_entry:[0,4,1,""],plusformat:[0,4,1,""],safeformat:[0,4,1,""],sleep_until:[0,4,1,""],splitstring:[0,4,1,""],telegram_escape:[0,4,1,""],ytdldateformat:[0,4,1,""]},"royalnet.utils.NetworkHandler":{message_type:[0,3,1,""]},"royalnet.web":{Royalprint:[0,1,1,""],create_app:[0,4,1,""]},royalnet:{audio:[0,0,0,"-"],bots:[0,0,0,"-"],commands:[0,0,0,"-"],database:[0,0,0,"-"],error:[0,0,0,"-"],network:[0,0,0,"-"],utils:[0,0,0,"-"],web:[0,0,0,"-"]}},objnames:{"0":["py","module","Python module"],"1":["py","class","Python class"],"2":["py","method","Python method"],"3":["py","attribute","Python attribute"],"4":["py","function","Python function"],"5":["py","exception","Python exception"]},objtypes:{"0":"py:module","1":"py:class","2":"py:method","3":"py:attribute","4":"py:function","5":"py:exception"},terms:{"20m":0,"byte":0,"class":[0,1],"default":[0,1],"final":0,"function":[0,1],"import":1,"int":0,"new":[0,2],"null":0,"return":[0,1],"short":1,"static":0,"super":1,"true":0,"try":[0,1],"while":[0,1],And:1,For:1,That:0,The:[0,1],Then:[0,1],These:[0,1],Use:0,__dict__:0,__doc__:0,__getitem__:0,__init__:[0,1],__module__:0,__slots__:0,__weakref__:0,_bot_factori:0,_create_t:0,_data_factori:0,_default_ytdl_arg:0,_handle_upd:0,_init_cli:0,_init_command:0,_init_databas:0,_init_royalnet:0,_init_voic:0,_interface_factori:0,_network_handl:0,abl:0,about:0,abstracteventloop:0,access:[0,2],accur:0,add:0,add_to_music_data:0,added:[0,1],adding:[0,1],addit:0,address:0,advance_music_data:0,akin:0,alchemi:0,all:0,allow:[0,1],also:0,altern:0,alwai:0,amount:0,andformat:0,ani:[0,1],anoth:0,anymor:0,anystr:0,api:2,app:0,applic:0,arg:[0,1],argument:[0,2],around:0,arrai:0,async:[0,1],asyncifi:[0,1],asyncio:[0,1],asyncron:0,attempt:0,attribut:[0,1],audio:2,audiosourc:0,author:0,autocomplet:0,automat:0,avail:0,avoid:1,await:1,banana:1,base:0,becaus:1,been:0,befor:1,begin:1,being:[0,1],between:0,big:0,block:0,blockingli:0,blueprint:0,bool:0,bot:[1,2],both:0,bufferediobas:0,bug:1,call:[0,1],callabl:0,can:[0,1],cancel:0,cannot:0,carb:1,carbonara:1,caus:1,caution:0,cdj:0,certain:1,chain:0,chang:0,change_pres:0,channel:0,charact:0,chat:[0,1],check:0,class_:0,classmethod:0,client:0,close:0,clue:0,code:[0,1],command:2,commandarg:[0,1],commanddata:[0,1],commandinterfac:0,commun:0,complet:0,complex:1,compon:0,comun:2,config:0,config_obj:0,configur:0,connect:0,connectedcli:0,connectionclosederror:0,consid:1,consum:0,contain:0,context:0,convers:0,convert:0,convert_to_mp3:0,convert_to_pcm:0,core:0,coroutin:[0,2],correctli:0,correspond:0,creat:[0,2],create_and_ready_from_url:0,create_app:0,create_from_url:0,current:0,currentlydisablederror:0,custom:0,dai:0,data:[0,1],databas:2,database_config:0,database_uri:0,databaseconfig:0,date:0,datetim:0,db_path:0,declar:0,def:1,delet:0,dent:1,describ:0,descript:[0,1],destin:0,destination_conv_id:0,detail:0,dfile:0,dict:0,dictionari:0,direct:2,directli:1,disabl:0,discord:0,discord_config:0,discord_escap:0,discordbot:0,discordcli:0,discordconfig:0,displai:0,doc:0,docstr:0,document:2,doe:[0,1],doesn:0,don:[0,1],done:1,download:0,download_1_terabyte_of_spaghetti:1,download_fil:0,download_from_url:0,dynam:0,eas:0,edit:0,effect:1,either:0,element:0,emb:0,emoji:1,empti:0,encod:0,end:0,ending_class:0,engin:0,enough:1,ensur:0,entri:0,envvar:0,epoch:0,error:[1,2],error_data:0,error_if_non:0,escap:0,even:0,event:0,everi:[0,1],everyth:0,exact:1,exampl:[0,1],except:0,execut:[0,1],exist:[0,1],expect:0,express:2,ext:0,externalerror:0,extra_info:0,extract:0,extract_info:0,fals:0,featur:0,fetch:0,file:[0,1],fileaudiosourc:0,fileformat:0,filenam:0,filetoobigerror:0,find:0,find_client:0,find_destin:0,finish:1,first:1,flask:0,follow:0,format:0,found:0,from:[0,1],from_dict:0,from_json_byt:0,from_json_str:0,from_object:0,full:2,fullfil:0,gener:0,genericbot:0,get:[0,1],get_author:0,github:2,greater:0,group:[0,1],guild:0,handl:0,handler:0,has:[0,1],has_info:0,have:[0,1],how:0,html:0,http:0,identifi:0,identity_column_nam:0,identity_t:0,ifi:0,ignor:0,ignoreerror:0,imag:1,import_nam:0,incom:0,incomplet:0,index:[0,2],inf:0,info:0,inform:0,inherit:[0,1],initi:0,input:0,insid:1,instanc:0,instead:[0,1],interfac:[0,1],interface_nam:0,invalid:0,invalidconfigerror:0,invalidinputerror:[0,1],is_download:0,is_opu:0,isn:[0,1],itali:1,item:0,join:[0,1],json:0,jsonabl:0,just:[0,1],keep:1,kei:0,keyword:1,kind:1,kwarg:0,last:0,less:0,like:[0,1],link:0,link_typ:0,list:[0,1],listen:0,login:0,look:[0,1],loop:0,made:0,mai:1,main:0,mainli:0,maintain:0,make:[0,1],manag:0,markup:0,master_secret:0,master_t:0,master_uri:0,match:[0,1],max:0,mean:[0,1],meantim:1,memori:0,mention:1,messag:[0,1],message_typ:0,method:[0,1],middl:0,might:0,minimum:[0,1],miscellan:0,miss:0,month:0,more:[0,1],multipl:[0,1],music_data:0,must:0,name:[0,1],need:0,net_request:0,network:2,network_handl:0,networkerror:0,networkhandl:0,next:[0,1],nid:0,no_warn:0,nobodi:0,node:0,non:0,none:[0,1],nonefounderror:0,noplaylist:0,normal:1,notat:0,notconnectederror:0,noth:0,notic:1,notidentifiederror:0,notimpl:0,now:[0,1],number:[0,1],numberemojiformat:0,object:[0,1],offset:0,onc:[0,1],one:0,ones:0,onli:[0,1],open:0,oper:2,option:[0,2],optional_arg:0,opu:0,ordinalformat:0,org:0,other:[0,1],otherwis:0,outdat:0,output:0,outtmpl:0,overrid:1,packag:0,packet:0,page:0,paramet:[0,1],parse_5etools_entri:0,part:1,pass:[0,1],path:0,pattern:[0,1],pcm:0,pcm_avail:0,pickl:0,ping:1,pingcommand:1,plai:[0,1],plusformat:0,pong:1,port:0,possibl:[0,1],prefix:0,prepar:0,prepend:0,presenc:0,present:1,previou:1,previous:1,probabl:0,properti:0,python:1,quiet:0,rais:[0,1],raise_on_error:0,read:0,readi:1,ready_up:0,real:0,realli:0,receiv:[0,1],reciev:0,recreat:0,refer:2,regex:0,regist:0,register_net_handl:0,regular:2,relat:0,relationshiplinkchain:0,remov:0,replac:0,repli:[0,1],request:[0,1],request_dict:0,request_handl:0,requir:[0,1],require_alchemy_t:0,require_at_least:[0,1],required_arg:0,required_secret:0,required_t:0,respect:1,respons:0,responseerror:0,responsesuccess:0,rest:1,result:[0,1],retriev:0,retrieve_for_url:0,right:0,right_now:1,root_path:0,rout:0,route_packag:0,row:[0,1],royalcod:0,royalnet:0,royalnet_config:0,royalnetconfig:0,royalnetlink:0,royalnetrequesterror:0,royalnetresponseerror:0,royalnetserv:0,royalprint:0,run:[0,1],safeformat:0,same:1,script:1,second:0,secret:0,secret_kei:0,select:0,self:[0,1],send:[0,1],sent:[0,1],sentry_dsn:0,separ:[0,1],sequenc:0,serv:0,server:0,session_acm:0,session_cm:0,set:0,should:[0,1],side:1,signal:0,simpl:1,singl:0,skip:0,sleep:1,sleep_until:0,slow:2,small:[0,1],some:1,someth:0,somewher:0,song:0,sourc:0,source_conv_id:0,space:[0,1],spaghetti:1,spaghetticommand:1,spawn_audiosourc:0,special:1,specif:[0,1],specifi:[0,1],splitstr:0,sqlalchemi:0,stai:1,start:[0,1],starting_class:0,statement:0,static_fold:0,static_url_path:0,statu:0,stop:1,store:0,str:[0,1],stream:0,string:[0,2],subdomain:0,submodul:0,success:0,support:0,syntax:0,tabl:0,task:0,telegram:[0,1],telegram_config:0,telegram_escap:0,telegrambot:0,telegramconfig:0,tell:1,template_fold:0,temporar:0,text:0,than:0,thei:[0,1],them:[0,1],therefor:0,thi:[0,1],thing:1,think:1,thought:1,through:[0,1],time:[0,1],titl:0,to_dict:0,to_discord_emb:0,to_json_byt:0,to_json_str:0,token:0,too:[0,1],toomanyfounderror:0,tri:1,tupl:[0,1],two:0,type:[0,1],underscor:0,undescrib:0,unexpect:0,unexpectedli:0,union:0,unregister_net_handl:0,unregisterederror:0,unsupportederror:0,until:[0,1],updat:0,update_activity_with_source_titl:0,update_info:0,uri:0,url:0,url_default:0,url_prefix:0,use:[0,1],used:[0,1],useful:0,user:[0,1],uses:0,using:[0,1],usual:0,utf8:0,util:[1,2],uuid:0,valid:0,valu:0,variabl:0,variou:0,via:2,video:0,voic:0,wai:[0,1],wait:0,want:[0,1],wasn:1,web:2,websocket:0,websocketserverprotocol:0,weird:0,welcom:2,went:0,were:[0,1],what:1,when:[0,1],whenev:1,where:0,which:[0,1],why:0,without:0,word:0,work:[0,1],worth:0,would:0,wrap:1,wrapper:0,written:0,wrong:0,wrote:1,year:0,yet:0,you:[0,1],your:1,youtub:0,youtube_dl:0,youtubedl:0,ytdl_arg:0,ytdl_file:0,ytdldateformat:0,ytdldiscord:0,ytdlfile:0,ytdlinfo:0,ytdlmp3:0,yyyi:0,yyyymmdd:0},titles:["API Reference","Royalnet Commands","royalnet"],titleterms:{"new":1,access:1,api:0,argument:1,audio:0,bot:0,command:[0,1],comun:1,coroutin:1,creat:1,databas:[0,1],direct:1,error:0,express:1,full:1,link:2,network:0,oper:1,option:1,refer:0,regular:1,royalnet:[1,2],slow:1,some:2,string:1,useful:2,util:0,via:1,web:0}}) \ No newline at end of file diff --git a/docs_source/index.rst b/docs_source/index.rst index 38a3a7d3..8adfa64d 100644 --- a/docs_source/index.rst +++ b/docs_source/index.rst @@ -4,7 +4,7 @@ royalnet Welcome to the documentation of Royalnet! .. toctree:: - :maxdepth: 2 + :maxdepth: 3 creatingacommand apireference