반응형

안녕하세요.

지난 시간에 이어서 디스코드 봇 만들기를 위한 코드작성에 대해 알아보도록 하겠습니다.

 

디스코드 봇 만들기(1) - 봇생성

안녕하세요. 디스코드 봇을 만드는 법에 대해 알아보도록 하겠습니다. 일단 디스코드 사이트로 들어갑니다. https://discord.com/ Discord | Your Place to Talk and Hang Out Discord is the easiest way to talk..

scvtwo.tistory.com

언어는 여러가지가 있지만, 파이썬을 이용해 보겠습니다.

discord.py 라이브러리 패키지를 설치가 필요합니다.

콘솔창에서 다음 명령어를 입력합니다.

pip install discord.py

그리고 다음과 같이 코드를 작성합니다.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
import discord
from discord.ext import commands
 
bot = commands.Bot(command_prefix='#')
 
@bot.event
async def on_ready():
    print(f'Login bot: {bot.user}')
 
@bot.command()
async def hello(message):
    await message.channel.send('Hi!')
 
bot.run('#OTY5MTUyNz')
cs

코드를 설명하면, 4번째 줄은 어떤 봇을 만들것인지 설정합니다. "command_prefix='#'"은 '#'을 앞에 넣어서 명령어를 실행하겠다는 의미입니다.(ex. #info, #hi 등등)

@bot.event는 이벤트 함수를 만들겠다는 것이고 함수 앞에 async가 붙는건 비동기로 실행되는 함수라는 의미입니다.

on_ready함수는 봇이 시작될 때 실행되는 이벤트함수입니다.

@bot.command은 command함수를 만들겠다는 의미입니다. def hello함수는 "#hello"를 대화창에 입력했을 경우 실행되는 함수 입니다. 

"message.channel.send('Hi!')"는 메세지가 온 채널에 'Hi!'라는 내용을 보내줍니다. 채팅창에 #hello를 사용자가 보내면 "Hi!" 메세지를 봇이 보내게됩니다.

bot.run('#OTY5MTUyNz')은 token값인 #OTY5MTUyNz 대신 봇을 생성할 때 만들어진 토큰값을 넣어주면 됩니다.

토큰값을 잃어버렷다면, 디스코드의 개발자 페이지에 들어가서 Reset Token을 버튼을 누르면 다시 생성 할 수 있습니다.

실행하면 bot이 온라인 상태로 변경되는 것을 확인할 수 있습니다.

반응형
반응형

안녕하세요.

디스코드 봇을 만드는 법에 대해 알아보도록 하겠습니다.

일단 디스코드 개발자 포털로 들어갑니다.

https://discord.com/developers/applications

 

Discord Developer Portal — API Docs for Bots and Developers

Integrate your service with Discord — whether it's a bot or a game or whatever your wildest imagination can come up with.

discord.com

 

그 후 좌측에 있는 Applications을 클릭합니다.

 

이제 로그인하려고 뜹니다.

아직 회원가입을 안했다면, 회원가입을 하고 로그인을 합니다.

 

그럼 이제 Applications페이지로 들어가게 됩니다.

새로운 Application을 생성해야하기 때문에 "New Application" 버튼을 클릭합니다.

 

이름을 넣어주고 "Create"버튼을 클릭합니다.

아직 봇이 생성된 것은 아닙니다.

좌측에 "Bot"을 클릭합니다.

클릭 후 나온 페이지에서 "Add Bot"버튼을 클릭합니다.

봇을 추가한다는 메세지가 나오는데, "Yes, do it!" 버튼을 클릭합니다.

 

이제 봇이 추가되었습니다.

추후에 코드에서 생성된 봇을 연결하기위해서는 토큰이 필요합니다.

"Reset Token"버튼 클릭하여 토큰 값을 얻습니다.

 

다음 메세지창에서 "Yes, do it!"버튼을 클릭합니다.

토큰은 나중에 코드상에서 봇에 접속하기 위한 고유키이므로, OTY5...로 시작하는 토큰을 복사하고 따로 잘보관해둡니다.(토큰이 유출되면 다른 PC에서도 접근할 수 있습니다)

 

봇을 디스코드 서버에 초대해야 합니다.

다음과 같이해서 URL을 생성합니다.

좌측에 "OAuth2"를 클릭 후 "bot"을 체크하고 아래 BOT 권한을 체크하면 URL이 생성됩니다.

URL을 복사하여 주소창에 넣으면 디스코드 어느 서버 초대할지 선택하라고 합니다.

초대하기 전에 미리 서버를 추가해야합니다.

 

오프라인으로 봇이 서버에 입장했습니다.

오프라인인 봇을 온라인으로 만드는 방법은 다음 페이지를 참조해주세요.

 

디스코드 봇 만들기(2) - 코드(python)

안녕하세요. 지난 시간에 이어서 디스코드 봇 만들기를 위한 코드작성에 대해 알아보도록 하겠습니다. 언어는 여러가지가 있지만, 파이썬을 이용해 보겠습니다. discord.py 라이브러리 패키지를

scvtwo.tistory.com

 

반응형
반응형

안녕하세요.

오늘은 메세지박스에 WCHAR스트링으로 메세지 넣는것에 대해 알아보도록 하겠습니다.

일본어로 메세지박스의 메세지를 넣고 싶었는데, 프로젝트 자체가 이미 "멀티바이트 문자 집합 사용"으로 되어있어서,

일본어가 깨지는 문제가 발생했습니다.(물론 유니코드 문자 집합 사용을 하면 깨지지 않았습니다.)

하지만 이미 많이 진행된 프로젝트이기 때문에 유니코드 문자 집합으로 변경이 어려운 상황이였습니다.

그래서 WCHAR형으로 메세지를 넣으면 되지 않을까해서 찾아보던중,

MessageBoxW로 하면 된다는 걸 알게되었습니다.

WINAPI
MessageBoxW(
    __in_opt HWND hWnd,
    __in_opt LPCWSTR lpText,
    __in_opt LPCWSTR lpCaption,
    __in UINT uType);

lpText, lpCaption를 모두 WCHAR형으로 넣어주면 됩니다.

기본적으로 WINAPI함수입니다. 하지만 MFC에서도 hWnd을 0으로 사용하면 동일하게 사용할 수 있습니다.

예제
MessageBoxW(0, L"再試行してください。", L"Error", MB_OK );

반응형
반응형

안녕하세요.

구글 애즈를 사용해서 게임 앱을 홍보해보았는데, 그 내용을 적어보려고 합니다.

일단 게임을 만들고 보니, 아무도 다운로드하지 않고 주변 지인들에게 홍보해야 겨우 다운로드 수가 조금씩 증가하기 시작했습니다.

검색을 통해 어떻게 게임을 홍보하는지 알아보았는데, 인터넷 커뮤니티(페이스북, 네이버 카페, 게임관련 사이트)나 오늘 다룰 구글 애즈로 홍보하는 방법이 있었습니다.

다음 유튜브 영상에서 확인했습니다.

 

일단 커뮤니티에서 홍보하려면 좀 시간을 두고 활동하면서 해야할 것 같아서, 그나마 빠르게 홍보할 수 있는 구글 애즈를 사용해보기로 했습니다.

마침 프로모션으로 3만원을 사용하면 10만 원 상당의 광고 크레디트를 제공해준다고 해서 일단 3만 원을 충전했습니다.

구글 애즈에 등록하기 위해서 이곳저곳 검색을 해서 확인했었는데, 쉽게 설명해주는 곳은 찾지 못했고, 공부를 많이 해야 할 것 같습니다. 

그래서 경험이라고 생각하고 간단하게 캠페인을 만들었습니다.

타겟 CPA는 100원, 타겟 국가는 아무래도 게임 자체가 영어를 지원하고, 광고단가가 저렴할 것이라고 예상해서 필리핀으로 설정하였습니다.

하루에 10,000원정도 사용할 수 있도록 하고, 2일 6시간 정도 홍보를 하였습니다.

일단 제가 좀 오해한게 타겟 CPA 100원으로 설정하면 앱 설치할 때마다 100원을 받는 게 아니라, 홍보 후 클릭단가에 따라 요금을 지불하는 것 같습니다.

클릭단가는 클릭할때 비용이고, 설치할지 안 할지는 단가에 영향을 받지 않는 것 같아 보였습니다.

그러니까 홍보이미지나 앱 설명을 잘해놓아야 클릭 후 사용자가 설치를 할 수 있을 것 같습니다.

일단 제가 만든 게임은 틀린그림찾기 게임인데, 필리핀에서 클릭단가는 10원 정도였고, 시간 지나니까 8원 9원 정도로 떨어지기도 했는데 최종적으로 10원 정도였습니다.

18,000원 정도 사용했으며, 노출은 9만 5천, 클릭수는 1천8백 정도에 게임 다운로드는 70 정도 올라갔습니다.

총 통계 자료를 보니, 1번 설치될 때 250원 정도 사용되는 것 같습니다.

이건 게임이나 홍보영상이나 홍보 이미지에 따라 다르니 참고만 하시면 될 것 같습니다.

아무래도 무료인 커뮤니티 홍보라 고해도 커뮤니티에 글 올리고, 홍보글 만드는 것도 시간을 써야 하는 작업이니까 설치단가는 그나마 저렴한 편이었던 거 같습니다.

설치 후 애드몹에서 광고 수익을 확인해보았습니다.

하지만..  광고 수익은 0.02달러였습니다.

단순 계산으로 1달러당 1천 원으로 봤을 때 20원였습니다.

광고의 효과는 거의 없었다고 볼 수 있었습니다.

설치 후 거의 재설치도 없는 것 같고, 홍보 끝난 후 거의 접속하는 유저가 없었습니다.

조금 더 많이 광고를 해서 일정 수준 이상 다운로드 수가 증가한다면 더욱 광고수익을 크겠지만, 게임 자체가 너무 단순해서 유저의 재유입을 기대할 수 없었기 때문에 조금 더 콘텐츠를 보충해서 재광 고를 해야겠습니다.

 

 

반응형
반응형

에러메세지

VS2005 프로젝트를 VS2010으로 업그레이드한 후 빌드를 할 때, 다음과 같은 에러가 발생했습니다.

오류 32 error c1010001: Values of attribute "level" not equal in different manifest snippets. 

해결

프로젝트 속성을 연 후 [구성속성] - [링커] - [매니페스트 파일]을 선택 한 후

[UAC 실행 수준]을 requireAdministator로 변경하여 설정합니다.

반응형
반응형

안녕하세요. 

구글 플레이 콘솔에서 게임 서비스 - GOOGLE PLAY 게임 서비스 설정을 누르면

다음과 같이 "예기치 않은 오류가 발생했습니다. 나중에 다시 시도해 주세요.(4800000)"가 발생을 하는 경우가 발생합니다.

일단 저는 특별히 앱을 올린 이후로 작업한 내용도 없고, 처음 GOOGLE PLAY 게임 서비스를 설정한 게 없어서 어떻게 해야 하는지 막막했습니다.

검색을 해보니.. 24시간을 기다려야 한다.

혹은 구글 서버 문제라서 기다려야 한다는 말 뿐이었습니다.

하지만.. 빨리 해보고 싶은 마음에 여러 가지 시도를 해봤습니다.

1. 재로그인

안되었습니다... 여전히 같은 에러가 발생합니다.

2. 재부팅 후 시도

안되었습니다... 실패.

 

여러 시도를 해보다가 해결책을 찾았습니다.

다른 이름으로 시도했더니 가능했습니다.

저는 "Google Play Test"라고 게임 이름을 만들었습니다.

여기서 "Google"에서 문제가 생긴 거 같습니다.

Google을 빼고 GPlay Test를 했더니 문제가 없었습니다.

혹시 같은 에러가 발생하신다면 참고하기 바랍니다.

반응형

+ Recent posts