Compare commits
	
		
			2 Commits
		
	
	
		
			e7bce7abd2
			...
			d1f8768b15
		
	
	| Author | SHA1 | Date | |
|---|---|---|---|
| d1f8768b15 | |||
| f947d5f088 | 
@ -32,6 +32,5 @@ See [tests](src/devranta/tests.py) for [examples](src/devranta/tests.py) on how
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
## Todo 
 | 
					## Todo 
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 - voting comment 
 | 
					 | 
				
			||||||
 - edit message 
 | 
					 - edit message 
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
				
			|||||||
@ -1,5 +1,11 @@
 | 
				
			|||||||
 | 
					from typing import Literal, Optional
 | 
				
			||||||
import aiohttp
 | 
					import aiohttp
 | 
				
			||||||
 | 
					from enum import Enum
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					class VoteReason(Enum):
 | 
				
			||||||
 | 
					    NOT_FOR_ME = 0
 | 
				
			||||||
 | 
					    REPOST = 1
 | 
				
			||||||
 | 
					    OFFENSIVE_SPAM = 2
 | 
				
			||||||
 | 
					
 | 
				
			||||||
class Api:
 | 
					class Api:
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@ -168,6 +174,28 @@ class Api:
 | 
				
			|||||||
        obj = await response.json()
 | 
					        obj = await response.json()
 | 
				
			||||||
        return obj.get("success", False)
 | 
					        return obj.get("success", False)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    async def vote_rant(self, rant_id: int, vote: Literal[-1, 0, 1], reason: Optional[VoteReason] = None):
 | 
				
			||||||
 | 
					        if not await self.ensure_login():
 | 
				
			||||||
 | 
					            return None
 | 
				
			||||||
 | 
					        async with self as session:
 | 
				
			||||||
 | 
					            response = await session.post(
 | 
				
			||||||
 | 
					                url=self.patch_url(f"devrant/rants/{rant_id}/vote"),
 | 
				
			||||||
 | 
					                data=self.patch_auth({"vote": vote, "reason": reason.value if reason else None}),
 | 
				
			||||||
 | 
					            )
 | 
				
			||||||
 | 
					        obj = await response.json()
 | 
				
			||||||
 | 
					        return obj.get("success", False)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    async def vote_comment(self, comment_id: int, vote: Literal[-1, 0, 1], reason: Optional[VoteReason] = None):
 | 
				
			||||||
 | 
					        if not await self.ensure_login():
 | 
				
			||||||
 | 
					            return None
 | 
				
			||||||
 | 
					        async with self as session:
 | 
				
			||||||
 | 
					            response = await session.post(
 | 
				
			||||||
 | 
					                url=self.patch_url(f"comments/{comment_id}/vote"),
 | 
				
			||||||
 | 
					                data=self.patch_auth({"vote": vote, "reason": reason.value if reason else None}),
 | 
				
			||||||
 | 
					            )
 | 
				
			||||||
 | 
					        obj = await response.json()
 | 
				
			||||||
 | 
					        return obj.get("success", False)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    @property
 | 
					    @property
 | 
				
			||||||
    async def notifs(self):
 | 
					    async def notifs(self):
 | 
				
			||||||
        response = None
 | 
					        response = None
 | 
				
			||||||
 | 
				
			|||||||
		Loading…
	
		Reference in New Issue
	
	Block a user