-
트위터 캐릭터 자동봇 만들기 먼지팁정보&번역 2019. 7. 25. 11:58
2017년에 에버노트로 써올렸던 글인데, 종종 찾으시는 분이 계셔서 검색 걸리는 티스토리에 백업하기로 했습니다. 겸사겸사 약간 가필했습니다.
트위터 봇 계정을 만들고 사이트와 연동하는 과정에 대한 강좌가 아닙니다.
봇을 만들고는 싶지만 무엇을 주의해야 할지, 무슨 트윗을 넣어야 할지 고민되는 분들께 드리는 약간의 제안입니다.
자캐, 2차창작 등 캐릭터 기반 자동봇에 대해 이야기합니다.
내 취향에 맞는 최애캐 봇이 있었으면 좋겠는데 개인봇은 부담스럽다
계정 두 개 로그인해서 내가 멘션하고 내가 답변하는 건 처량하다
봇은 만들고 싶은데 롤플레잉에 들이는 시간과 노력이 부담된다
이 모든 것을 해결해 주는 자동봇! 당신도 봇주가 될 수 있습니다!
n년차 자동봇주 단삭 @liztoku 씀최종 갱신 20190726
이 글은 자유롭게 공유해 주세요. 내용이 갱신될 수 있으니 복붙보다 링크 공유를 추천드립니다.
봇을 만들기 전 기억할 점
'봇'의 정의는 자동봇을 가리킵니다. 수동봇은 거기에 관리자의 취향으로 다소의 수고로움을 첨가한 하나의 선택지일 뿐입니다. 자동트윗만으로도 당신의 봇은 어엿한 봇입니다.
수동 트윗이나 교류를 해 달라는 팔로워의 요구가 있다 해도 거기에 무리하게 발맞추실 필요는 없습니다.
즐겁지 않다면 멈추세요. 얼마든지 그러셔도 됩니다. 다 재밌자고 하는 일입니다.
- 자동봇은 어디에서 만들지?
저는 봇 사이트로 http://twittbot.net/ 을 사용합니다. 가끔 고장이 나지만 무료 계정에도 있을 기능은 다 있어요.
하나의 계정에 여러 봇을 무료로 추가할 수 있어서 저처럼 문어발 봇주인 경우 일괄 관리하기에 좋습니다.
등록한 트윗을 종류별로 .txt로 한번에 내보내 주는 기능이 있어서 백업도 편합니다. 자주 백업해 두도록 합시다.
- 자동트윗은 몇 개 정도? 트윗 주기는?
봇의 용도에 따라 자유지만 저는 캐릭터에 따라 2~4시간 정도의 주기를 주로 씁니다. 30분은 금방 질리고, 1시간은 다소 짧아서 DB(쌓아놓은 자동트윗 목록)가 빨리 털립니다. 3시간 정도로 설정하면 앞 트윗을 잊어버릴 즈음의 타이밍에 트윗이 적당히 올라와 줘요. 처음 봇을 만들 때는 내가 등록한 새 트윗이 빨리 올라왔으면 하게 되니 짧게 설정해 두었다가 나중에 주기를 벌리는 것도 괜찮습니다. 처음부터 DB를 완성하려 하면 지칩니다! 생각날 때마다 한두 개씩 천천히 추가해나가세요.
주관적인 감상으로 계속 팔로우해 두어도 트윗이 질리지 않는 하한선은, 3시간당 1트윗&시보 (시간 지정 트윗)일일 2회 기준으로 대충 일반트윗 100종 / 시보 각 15종 정도였습니다. 저는 대체로 자동트윗은 150종 이상으로 맞춥니다. 150종 정도면 2시간 주기도 괜찮습니다. 시보는 반드시 그 시간마다 하루 한 번은 나오니 그만큼 중복이 뜨기 쉬워서, 생각나는 족족 바리에이션을 늘려 두곤 합니다.
이상적인 이야기지만 자동트윗을 250종 이상 넣으면 슬슬 나도 DB에 뭘 넣었는지 기억이 안 나서 매일매일 새롭습니다.
- 무슨 트윗을 쓰지?
원작이 있는 2차창작 봇이라면 먼저 원작에서 좋아하는 대사를 채워넣습니다. 닥치는대로 넣으면 DB가 풍부해서 좋고, 골라서 넣으면 대사를 큐레이팅하는 과정이 즐겁습니다. 내가 어떤 대사를 좋아하는지를 스스로 들여다보면 봇의 방향이 뚜렷해집니다.
그리고 캐릭터의 일과를 생각합시다. 1트윗짜리 썰을 푼다는 느낌으로.
트윗 하나 안에 주제가 있거나, 맥락이 느껴지거나, 그렇지 않으면 어쩐지 맥락을 알 것 같은 상상력을 자극하는 내용이 쉽게 질리지 않습니다. 그리고 그 장면이 캐릭터의 일상에서 충분히 반복될 수 있다면 더 좋습니다.
- 시간에 대한 표현은 가능한 한 흐립니다.
자동트윗은 언제 어떤 트윗이 뜰지 모릅니다! 어젯밤, 저번, 다음 주말, 내년 등 언제 언급되어도 위화감이 없는 단어를 쓰면 좋습니다. 계절 표현도 작년이나 내년쯤으로 밀어버립니다. 시보 트윗이라면 오케이.
- 트윗의 형식과 내용은 제한될 필요가 없습니다.팔로워에게 말 걸기 (대답은 생각하지 않아도 됩니다! 자동봇이니까요!)
가상의 질문에 답하기
대화의 일부 (메신저 대화도!)
일기
캐릭터의 눈에 보이는 것에 대한 기록
다른 인물에 대한 생각
혼잣말이나 상념
인용문 (책을 읽고 있다거나, 다른 인물에게 들었다거나...)
보고서 같은 문서의 일부
노래부르기
이미지나 링크 (링크가 깨지지 않도록 주의!)
설정덕질 (지식인 캐릭터라면 작품 세계관 설명을 종종 해도 어울립니다.)
사회, 제도, 단체 등에 대한 의견
... 이외에도 무엇이든!
특히 '다른 캐릭터와 나누는 대화의 일부를 맥락이 보이도록 인용'하는 트윗은 제가 자동봇을 만들 때 항상 써먹는 수법입니다. 봇의 특성상 한두 캐릭터만을 집중적으로 다루게 되면서 생기는 폐색감을 풀어줍니다. 더불어 봇의 주인공과 타 캐릭터의 관계성을 간접적으로 보여주기도 합니다.ex) "화장실에 불 좀 켜 둔다고 전기세가 개벽이라도 해? 알았어, 다음부터 조심한다니까. ○○랑 같이 살면 부자 되겠어."
"○○, 저번에 보내준 샘플은 분석이 끝났나?"
"그 건은 이미 결정했다고 몇 번을 말했는데요. 내 판단이 못미더운 겁니까, ○○?"
이 수법은 활동이 연동되는 다른 봇이 없을 때 써먹기 좋습니다.
(* 노파심에 덧붙임: "사회, 제도, 단체 등에 대한 의견" 은 작품의 세계관에 대해 그 세계를 살아가는 캐릭터의 입장으로 서술합니다. 작품의 세계관은 현실의 일면을 반영하기도 하므로, 관리자는 캐릭터 이입과 현실의 가치관 사이에서 균형을 잡아야 합니다. 한편 나라가 디비지기까지 하면 좀 그렇겠습니다만, 작중의 화제가 현실 사회와 접점이 있을 수도 있다는 이유로 특정한 화제를 억지로 배제할 필요도 없습니다. 밸런스를 잡기가 까다로우나, 잘 한다면 세련되고 캐릭터에 입체감이 생깁니다.)
- 특수한 트윗들
시보 트윗, 키워드 트윗에 대해 이야기합니다. 이 둘은 자동트윗보다 DB가 좁으므로 중복이 나오기 훨씬 쉽다는 점을 항상 의식합시다. 중복은 봇의 생동감을 떨어뜨립니다.
- 시간 지정 트윗 (시보 트윗)
굿모닝 / 굿나잇 / 식사시간 알림 등.
캐릭터성에 어울린다면 자정 트윗이나 새벽 트윗을 넣어 주는 것도 괜찮습니다. (twittbot의 00시~07시 자동트윗 끄기 기능을 사용하더라도 시간 지정 트윗은 그대로 출력됩니다.) 새벽 트윗의 경우는 자동트윗과는 좀 다른 내용을 쓸 수 있어서 재미있습니다. 개인적으로는 새벽 2~3시 정도가 적당했습니다. 트위터에는 심야인간들이 많기 때문에(...) 의외로 꽤 인상을 남길 수 있습니다.
새벽 트윗 ex) 야근, 자다 깼다, 자는 중, 꿈을 꾸고 있다, 심야인데도 누군가를 만나고 있다, 비밀스러운 일을 하고 있다, 말 못 할 고민으로 잠을 설치고 있다...
- 키워드 반응시스템적인 팁: twittbot은 한 멘션에 여러 키워드가 포함되어 있을 때에 그 중 랜덤한 하나에 대해서만 반응을 출력합니다.
"안녕/사랑해/잘자"같은 일상적인 멘션에 대한 반응 바리에이션을 주로 만들게 됩니다만, 저는 이걸 다양하게 만들기 은근히 힘들었어요. 직접 만든 봇과 대화를 하고 싶다면 몇 개 챙겨두는 것도 괜찮습니다.
안녕 / 다음에 / 잘 자 / 사랑해 / 결혼(하자) / 사귀자 / 고마워 / 힘내 / 미안 / 수고 / 심심 / 괜찮 / 힘들 / ㅋㅋ / ㅠ / 잘생 / 멋있 / 귀엽 / 뭐해 / .....
* '안녕'은 특히 까다로운데, 이게 만나는 인사인지 헤어지는 인사인지 키워드만으로는 구분할 수가 없습니다... 저는 아예 빼버리는 쪽이 안전하다고 생각합니다.
일반 대화만으로는 조금 심심하다면 작품에서 나오는 고유명사(인명, 지명, 지식 등)에 반응하게 하는 것도 좋습니다. 여기서 봇 캐릭터 본인의 이름은 웬만하면 제외합시다. 그냥 부를 때도 시도때도 없이 튀어나가서 곤란한 일이 많았습니다.
twittbot에는 멘션을 받았지만 해당하는 키워드가 없을 경우에 자동으로 출력되는 '랜덤 회신' 기능이 있습니다만, 까딱하면 최애캐가 "무슨 말인지 모르겠어!"만 앵무새처럼 말하게 되니 조심스럽게 사용합시다.
살짝 기교를 넣고 싶다면, 자동트윗을 통해 독특한 키워드를 지정하거나 암시해 주고 그 키워드에 반응이 돌아가도록 하면 비밀을 발견하는 기분이 나서 즐겁습니다.
랜덤 회신 DB에 키워드와 이어지는 떡밥을 낮은 확률로 넣는 것도 나름대로 즐거움이 있겠습니다.
이런 기교는 특히 팔로워가 많을 때 빛을 발합니다.
봇 운영에 대하여
- 타 자동봇과의 연계?
마음 맞는 다른 자동봇 봇주님이 있으시다면, 서로 키워드를 등록하고 @멘션을 걸면 상호 자동트윗 같은 것도 가능합니다. 키워드 반응을 맞추어 넣으면 자동 대화도 시킬 수 있습니다! 다만 상호자동트윗은 레퍼토리가 부족하면 금방 중복이 나와 질릴 가능성이 매우매우 높습니다.
자동트윗 DB에 타 봇을 언급하는 트윗을 슬쩍 넣어서 분위기만 내고, 팔로워가 스스로 접점을 발견하게 하는 것도 재미있습니다.
연계되는 봇이 있다면 소개 페이지에 적어둡시다.
(어디까지나 주관적인 의견: 팀봇은 자동봇이라 해도 추천하지 않습니다. 팀을 맺으면 강요가 없다 해도 자연히 의무와 부담이 생깁니다. 팀 내에서의 제약뿐만 아니라 이벤트에 대한 팔로워들의 기대도 늘어납니다! 더구나 오너 계정을 공개하지 않고 봇 대 봇으로 만났다면, 누구도 자기의 발언에 책임을 질 필요가 없다는 의미나 다름없습니다. 고정된 팀보다는 자유롭고 느슨한 연계 정도가 안전합니다. 정말로 마음 맞는 지인들이 있다면 그때는 팀을 고려해 볼 만합니다.)
- 봇 소개 페이지가 필요할까?
성향을 설명하기 위해 필요하다고 생각하시면 자유롭게 만드시면 됩니다. 에버노트에 텍스트만 얹어도 상관없습니다. 위의 팁대로 하셨다면 원작에 없는 창작 대사가 꽤 들어갔을 테니, 봇의 내용을 기반으로 한 3차 창작을 허용할지의 여부도 미리 명시해 두시면 편합니다.
작품 원작이 아닌 다른 어딘가에서 인용한 문장이 있다면, 꼭!!! 소개 페이지를 만들어 출처를 표기해 둡시다.
소개 페이지 링크를 자동트윗에 집어넣어 두면 간혹 한 번씩 뜨니 좋습니다.
- 공지는 어떻게 할까? 봇주로서? 캐입으로?
취향에 따라 소개 페이지나 공지까지 캐입으로 쓰는 경우도 종종 있습니다만, 저는 선을 그어두고 확실히 봇주로서 작성하는 편입니다. 닉네임을 밝히지 않는 경우에도 말투로 뚜렷하게 구분합니다. 봇과 봇주의 경계가 흐릿하면... 다양하고 곤란한 일이... 일어납니다. (ㅠㅠ)
공지 트윗은 (공지) 식으로 말머리를 붙이거나 📋 같은 이모지, 잘 쓰지 않는 특수문자 등을 붙이면 구분이 편합니다.
- DM에서도 캐입을 해야 하나?
하지 마세요.
갠봇이라면 케바케일 수 있지만, 공봇을 운영하신다면 캐입DM은 정말 도시락 싸들고 말리고 싶습니다. 법으로 금하고 싶을 정도입니다. 롤플레잉은 각자의 발언을 책임질 수 있는 공개된 트윗과 멘션으로만 진행하고, DM은 봇주를 향한 문의 창구로 이용하도록 확실히 선을 그어 두세요. DM으로 대뜸 캐릭터 이름을 불러오는 팔로워가 있더라도 답변은 칼같이 "안녕하세요. 봇주입니다."로 시작하세요. 계속 캐입DM을 요구하는 팔로워가 있다면 경고, 캡쳐, 재발시 블락하세요. 팔로워가 멘션으로 하기에는 비밀스럽고 어렵고 힘든 얘기가 있다고 호소하나요? 전문적인 상담사도 아닌, 즐거움을 위한 일개 캐릭터 봇에게 애초에 그런 것을 떠안겨서는 안 됩니다. 정 염려된다면 봇주로서 도움을 줄지언정, 격리된 공간에서 가상의 캐릭터에 과도하게 의존하려는 시도에 호응하지 마세요. 예외를 두지 마세요.
공봇이 어느 정도 알려지면 봇을 독점(!)하고 싶어하는 팔로워가 간혹 나타나기도 합니다. 이럴 때 DM 대화마저 캐입이라면 상황에 악영향을 미칩니다. 매우 드문 일이고 자동/반수동봇은 수동봇보다 이런 문제에서 비교적 자유롭습니다만, 봇 운영에 공연한 스트레스가 생길 여지를 미리 끊어두시라는 의미로 거듭 강조해서 언급해 둡니다.
기타 팁
- 표시자 넣기
원작 인용 / 다른 책 등에서의 인용 / 봇주의 창작 대사를 구분할 수 있도록 트윗 자체에 표시자를 남겨 두고, 프로필이나 소개 페이지에 이 구분을 명시하는 편이 좋습니다. 혹시 생길지 모르는 여러 번거로움을 미연에 방지할 수 있습니다. 관리하는 입장에서도 나중에 DB가 늘어났을 때 '이게 원작 대사였나 내가 넣은 거였나...' 하는 상황을 미리 막을 수도 있습니다. 표시자가 너무 눈에 띄면 위화감이 들 수 있다는 점을 고려해 주세요.
제가 팔로우하는 봇 중 하나는 원작 대사 맨 앞에만 / 를 붙여 창작 대사(표시자 없음)와 구분합니다. :: 나 # (해시태그가 되지 않도록 띄어써서) 같은 기호도 괜찮습니다. 원작 대사에만 " " 큰따옴표를 치는 케이스도 있습니다.
비슷한 용도로 제가 관리하는 봇 하나는 팔로워 제보로 트윗을 추가하는데, 제보 트윗 앞에는 * 를 붙여 관리자가 등록한 트윗과 구분합니다.
봇주가 종종 접속해 RP를 하는 반 수동봇이라면 표시자가 눈에 띄는 쪽이 좋을 수도 있습니다. 이 경우는 표시자가 없는 트윗이 올라온다면 접속 중이라는 의미로 통하게 됩니다.
- 자잘하게 주의할 점
* (가장 당연하고 가장 중요한 얘기!) 트윗의 내용이 다른 사람, 다른 캐릭터의 팬, 작품의 팬에게 상처가 되지 않도록 합니다.
* 트위터 공앱의 트윗 글자수는 반각 기준 280자로 갱신되었습니다만, twittbot은 여전히 140자 제한을 사용하므로 글자수 제한에 걸리지 않도록 합니다.
* 스포일러 대사가 있다면 웬만하면 프로필에 경고해 둡니다. 서치도 주의합시다.
* 아이디는 공식 계정과 겹치거나 오인되지 않도록 합니다.
* 트윗 내에서 반복되는 동인설정이 있다면 공식과 혼동되지 않도록 소개 페이지에 적어둡니다.
* 프로필 사진은 공식 이미지나 사용 허락을 받은 이미지만 사용합니다. 특히 2차창작 그림이라면 그냥 "플사로 써도 돼요?" 말고 "트위터 봇"에 사용한다는 점을 반드시 말씀드리고, 허락을 받은 경우에만 프로필에 원작자를 명시하고 사용합니다.
* 만약 캐릭터의 가치관이 현실의 것과 합치하지 않는다면 - 예를 들어 캐릭터가 연쇄살인마라거나 - 봇 소개 페이지에 '봇의 언동은 관리자의 사상과 무관하며 관리자는 캐릭터의 사상을 지지하거나 옹호하지 않는다'는 점을 명시하는 것도 좋겠습니다. 덜 귀찮자고 만드는 자동봇인데 귀찮아질 여지는 미리 줄여 둡시다.
* 그렇다고 저렇게 한마디 띡 걸어두면 봇으로 막말해도 된다는 얘기가 아니라는 거 아시죠 준법시민 트위터리안이 됩시다
- 설정의 양념
아래는 개인취향으로, 생각해 두고 싶다면 하고 아니면 말고라는 느낌입니다. 메타픽션 좋아하세요?
* 캐릭터는 '트위터를' 하고 있나요? 물리적으로 대화를 하고 있나요? <미래일기>처럼 본인의 행동을 스스로 기록하거나 녹음하고 있나요? 아니면 <사토라레>나 <트루먼 쇼>처럼 팔로워들에게 본의아니게 일거수일투족을 읽히고 있나요? 어떤 가능성이 있을까요?
* 만약 캐릭터가 '트위터'를 하고 있지 않다면, 멘션은 어떤 방식으로 전달되나요? 문자메시지? 텔레파시? 환청? 리트윗이나 마음은 어떨까요?
* 이 캐릭터가 자동트윗을 반복하는 것에는 이유가 있나요? (루프에 빠져 있다거나, 기억을 잃는다거나, 사실 이건 본인이 아니고 복제 인공지능일 수도...)
* 캐릭터는 팔로워의 존재를 인식하나요? 팔로워들을 무엇이라고 생각하나요?
--
다들... 멋진 자동봇을 만들어줘...! 제가 안 만든 최애캐 자동봇 구합니다... (ㅠㅠ)