niho #2
					 3 changed files with 18 additions and 27 deletions
				
			
		
							
								
								
									
										34
									
								
								bot.py
									
										
									
									
									
								
							
							
						
						
									
										34
									
								
								bot.py
									
										
									
									
									
								
							|  | @ -12,8 +12,10 @@ def json_read(file): | |||
|         config = json.load(f) | ||||
|     return config | ||||
| 
 | ||||
| # Temp | ||||
| config = json_read('config.json') | ||||
| 
 | ||||
| 
 | ||||
| #try: | ||||
| #    config = json_read('config.json') | ||||
| #except FileNotFoundError: | ||||
|  | @ -26,38 +28,36 @@ if config['verbosity'].upper() == 'DEBUG': | |||
| 
 | ||||
| msk = msk.Misskey(i=config['token'], url=config['url']) | ||||
| 
 | ||||
| 
 | ||||
| #fid = msk.drive_files_create("yaoshi-jun-Toosaka-Rin-Fate-(series)-Anime-3306019.jpeg", isSensitive=True)['id'] | ||||
| #msk.notes_create(text="Wannya see my picture?", cw="Nya?", fileIds=[fid]) | ||||
| async def main(): | ||||
|     log.info("Connecting to {}".format(msk.url)) | ||||
|     async with websockets.connect(msk.ws_url) as ws: | ||||
|         print('Connecting') | ||||
|         log.info('Sucessfully connected to {}'.format(msk.url)) | ||||
|         log.info('Attemping to watch timeline') | ||||
|         p = { | ||||
|             'type': 'connect', | ||||
|             'body': { | ||||
|                 'channel': 'homeTimeline', | ||||
|                 'id': 'Nya1' | ||||
|             } | ||||
|         } | ||||
|         await ws.send(json.dumps(p)) | ||||
|         p = { | ||||
|             'type': 'connect', | ||||
|             'body': { | ||||
|                 'channel': 'main', | ||||
|                 'id': 'Nya2' | ||||
|                 'channel': 'main' | ||||
|             } | ||||
|         } | ||||
|         await ws.send(json.dumps(p)) | ||||
|          | ||||
|         print('Listening') | ||||
|         log.info('Listening to timeline') | ||||
|         while True: | ||||
|             data = await ws.recv() | ||||
|             j = json.loads(data) | ||||
|             if j['type'] == 'channel': | ||||
|                 if j['body']['type'] == 'followed': | ||||
|                     print("Follow!") | ||||
|                     msk.following_create(j['body']['body']['id']) | ||||
|                 if j['body']['type'] == 'mention': | ||||
|                     if not j['body']['body']['replyId']: | ||||
|                         msk.notes_create(renoteId=j['body']['body']['id']) | ||||
|             print(j) | ||||
| 
 | ||||
| while True: | ||||
|     try: | ||||
|         asyncio.get_event_loop().run_until_complete(main()) | ||||
|         loop = asyncio.new_event_loop() | ||||
|         #asyncio.set_event_loop(loop) | ||||
|         loop.run_until_complete(main()) | ||||
|     except KeyboardInterrupt: | ||||
|         break | ||||
| 
 | ||||
|  |  | |||
							
								
								
									
										2
									
								
								msk.py
									
										
									
									
									
								
							
							
						
						
									
										2
									
								
								msk.py
									
										
									
									
									
								
							|  | @ -10,7 +10,7 @@ class Misskey: | |||
|     def __init__(self, url: str, i: str): | ||||
|         self.url = f"https://{url}" | ||||
|         self.i = i | ||||
|         self.ws_url=f"wss://{url}/streaming&i={i}" | ||||
|         self.ws_url=f"wss://{url}/streaming?i={i}" | ||||
| 
 | ||||
|     def notes_create(self, text=None, visibility = "public", cw = None, fileIds = list(), replyId = None, renoteId = None): | ||||
|         req_url = self.url + "/api/notes/create" | ||||
|  |  | |||
|  | @ -1,9 +0,0 @@ | |||
| ## API | ||||
| https://misskey.io/api-doc | ||||
| 
 | ||||
| ## Примеры ботов | ||||
| https://github.com/yupix/Mi.py | ||||
| 
 | ||||
| https://github.com/TennousuAthena/RSSToMisskey | ||||
| 
 | ||||
| https://github.com/theskanthunt42/misskeyInstanceCheckBot | ||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue