Metadata-Version: 2.1
Name: dbkrpy
Version: 0.4.3
Summary: DBKR Api wrapped with aiohttp
Home-page: https://github.com/SaidBySolo/DBKR-API-Python
Author: Ryu ju heon
Author-email: SaidBySolo@gmail.com
License: MIT
Platform: UNKNOWN
Classifier: Programming Language :: Python :: 3.8
Classifier: License :: OSI Approved :: MIT License
Classifier: Operating System :: OS Independent
Requires-Python: >=3.7
Description-Content-Type: text/markdown
Requires-Dist: aiohttp[speedup]

# DBKR-API-Python

[![PyPI - Downloads](https://img.shields.io/pypi/dm/dbkrpy)](https://pypi.org/project/dbkrpy/)

## 목차

* [설치방법](#설치방법)
* [업데이트방법](#업데이트방법)
* [GetById](#GetById)
* [CheckVote](#CheckVote)
* [Page](#Page)
* [예제](#예제)
* [Patch note](#patch-note)

## 사용하시기 전에 제발 읽어주세요

### UpdateGuilds 관련

* 자동으로 루프를 돕니다 task.loop를 안만드셔도됩니다. (30분)

* 길드수도 안에서 체크합니다. 따로 비교안하셔도됩니다.

* 따로 루프를 만드시고싶으시다면 클래스내에 post_guild_count 라는 함수가 있습니다.

  * 인자값은 길드수와 토큰을 받으니 이 함수를 사용하세요.

## 설치 방법

```sh
pip install dbkrpy
```

## 업데이트 방법

```sh
pip install --upgrade dbkrpy
```

## GetById

불러올수 있는 항목 입니다.

* id(봇 아이디)
* timestamp(정보 생성일)
* name(봇 이름)
* owner(봇 개발자)
* library(봇 사용 라이브러리)
* prefix(봇 접두사)
* votes(봇 하트수)
* servers(봇 서버수)
* intro(봇 소개)
* description(봇 설명)
* web(봇 웹사이트)
* git(봇 깃)
* url(봇 초대링크)
* discord(봇 지원 디스코드 서버)
* categories(봇 카테고리)
* status(봇 상태)
* avatar(봇 프로필사진)
* verified(봇 디스코드 인증여부)
* trusted(봇 신뢰 여부)
* state(봇 잠금여부)

봇 개발자,카테고리는 리스트로 반환됩니다.

## CheckVote

해당 유저의 투표 여부를 bool 형식(True, False)으로 반환합니다.

## Page

불러올수 있는 항목 입니다.

* idlist(해당 페이지의 봇 id 리스트)
* namelist(해당 페이지의 봇 이름 리스트)
* serverslist(해당 페이지의 봇 서버수 리스트)
* voteslist(해당 페이지의 봇 투표 리스트)
* introlist(해당 페이지의 봇 소개 리스트)
* avatarlist(해당 페이지의 봇 아바타 리스트)
* categorylist(해당 페이지의 봇 카테고리 리스트)
* taglist(해당 페이지의 봇 태그 리스트)
* statelist(해당 페이지의 봇 상태 리스트)

전부 투표수가 많은 순서대로 10개씩 리스트로 반환됩니다.

## 예제

### 예제 빠른이동

* [Cogs(UpdateGuild)](#Cogs(UpdateGuild))
* [Bot(Using class,UpdateGuilds](#botnot-using-classupdateguilds)
* [Bot(Not using class,UpdateGuilds)](#botnot-using-classupdateguilds)
* [Client(on_message,UpdateGuilds)](#clientonmessageupdateguilds)
* [Cogs(GetById)](#cogsgetbyid)
* [Cogs(Page)](#cogspage)
* [Cogs(CheckVote)](#cogscheckvote)

### Cogs(UpdateGuild)

```py
#Auto Loop
import dbkrpy
import discord
from discord.ext import commands

class GuildCount(commands.Cog):

    def __init__(self, bot):
        bot = bot
        token = 'DBKR Token paste here'
        dbkrpy.UpdateGuilds(bot,token)

def setup(bot):
    bot.add_cog(GuildCount(bot))

```

### Bot(Using class,UpdateGuilds)

```py
#Auto Loop
import discord
from discord.ext import commands
import dbkrpy

token = "bot token here"
DBKR_token = "DBKR Token paste here"

class Bot(commands.Bot):
    def __init__(self):
        super().__init__(command_prefix="Prefix here")

if __name__ == '__main__':
    bot = Bot()
    dbkrpy.UpdateGuilds(bot,DBKR_token)
    bot.run(token)
```

### Bot(Not using class,UpdateGuilds)

```py
#Auto Loop
import dbkrpy
import discord
from discord.ext import commands

token = "bot token here"
DBKR_token = "DBKR Token paste here"

bot = commands.Bot(command_prefix="Prefix here")

dbkrpy.UpdateGuilds(bot,DBKR_token)

bot.run(token)
```

### Client(on_message,UpdateGuilds)

```py
#Auto Loop
import dbkrpy
import discord

token = "bot token here"
DBKR_token = "DBKR Token paste here"

client = discord.Client()

dbkrpy.UpdateGuilds(client,DBKR_token)

client.run(token)
```

### Cogs(GetById)

```py
import dbkrpy
import discord
from discord.ext import commands

class DBKRinfo(commands.Cog):

    def __init__(self, bot):
        self.bot = bot

    async def getinfo(self, ctx):
        info = await dbkrpy.GetById.get_response(538659580855451648)
        dbkr = dbkrpy.DBKRGetById(info)
        await ctx.send(dbkr.id)

def setup(bot):
    bot.add_cog(DBKRinfo(bot))
```

### Cogs(Page)

```py
import dbkrpy
import discord
from discord.ext import commands

class DBKRPage(commands.Cog):

    def __init__(self, bot):
        self.bot = bot

    async def getpage():
        page = await dbkrpy.Page.get_response(1)
        pagelist = Page(page)
        await ctx.send(f"{''.join(pagelist.idlist)}")

def setup(bot):
    bot.add_cog(DBKRPage(bot))
```

### Cogs(CheckVote)

```py
import dbkrpy
import discord
from discord.ext import commands

class DBKRChkVote(commands.Cog):

    def __init__(self, bot):
        self.bot = bot

    async def getvote(self, ctx):
        token = "DBKR API token"
        userid = "user id"
        info = await dbkrpy.CheckVote.get_response(token,userid)
        dbkr = dbkrpy.CheckVote(info)
        await ctx.send(dbkr)

def setup(bot):
    bot.add_cog(DBKRChkVote(bot))
```

## Patch note

### 0.4.3

* api링크 dict로 분리

### 0.4.2

* UpdateGuild 클래스가 UpdateGuilds로 변경

### 0.4.1

* get_reponse함수가 classmethod에서 staticmethod로 변경되었습니다.

### 0.4.0

* 봇 페이지 확인가능

* 약간의 최적화

### 0.3.0

* 클래스명 변경

* 로깅출력 여부 설정가능

* 투표 여부 확인가능

### 0.2.1

* 핫픽스: 모듈 임포트 오류 수정

### 0.2.0

* GetById 엔드포인트추가

### 0.1.2

* 독스트링 추가

### 0.1.1

* 1만서버 이상일시 오류출력.

### 0.1.0

* 첫 배포 시작


