728x90
반응형
송금 기능을 만들기 위해 명령어로 대상을 특정하는 코드를 짜야한다
보통 @을 이용한 멘션으로 대상을 지정하기에 이 방법으로 시도해보려고 한다
먼저 디스코드 명령어 함수에서 파라미터를 받으려면 아래와 같이 사용한다
@bot.command()
async def mention(ctx, target):
if target == "a":
await ctx.send("a")
테스트를 위해 !mention a 라고 보내면 a를 답하도록 만들었다
다음은 파라미터가 멘션인지 확인한다.
이를 위해 @nickname이 어떻게 인식되는지 확인할 필요가 있다
뭔가 이상한게 나왔다...
아니다 다를까 stackoverflow에 나와있었다
저번에 회원가입때 많이 봤던 id가 나오는걸 확인할 수 있었다.
참고로 @bot.command(name="")을 이용해 함수이름과 다르게 명령어를 설정할 수 있다. 귀찮아서 안쓰지만...
이제 멘션된 유저가 userDB에 있는지 확인하자
저번에 user.py에서 만들어둔 함수가 있으니 어렵지 않을 것이다.
@bot.command()
async def mention(ctx, user: discord.User):
if checkName(user.name, user.id):
await ctx.send("등록되지 않는 사용자입니다.")
else:
await ctx.send("송금하기")
DB에 등록된 사용자라면 송금하기 라고 나오고
등록되지 않았다면 알려준다
이제 다음 글에서 송금하는 것을 해보자...
'작업일지 > Discord.py' 카테고리의 다른 글
디스코드 봇 만들기 - 탈퇴 (0) | 2021.03.10 |
---|---|
디스코드 봇 만들기 - 로직 개선 (0) | 2021.03.04 |
디스코드 봇 만들기 - openpyxl (0) | 2021.02.18 |
디스코드 봇 만들기 - youtube_dl (0) | 2021.01.27 |
디스코드 봇 만들기 - 하이퍼링크 (0) | 2021.01.13 |