Skip to content

toomy0toons/linebot_python_repl.it

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 

Repository files navigation

라인봇 만들기

1.1 라인 개발자 계정 생성

https://developers.line.biz

에서 개발자 계정 생성후

create new provider 버튼 클릭해서 Provider 생성

1.2 채널 생성

create new chanel 으로 채널 생성후

봇 을 만들거기 때문에 messaging API 를 선택해준다

다음과 같은 화면이 나온다

1.3 봇 친구 추가

만들어진 봇을 클릭하면 세팅 페이지가 나온다

밑으로 내리면 qr 코드가 있는데 핸드폰 라인앱을 켜서 친구추가를 해준다

1.4 자동응답, 환영메세지 끄기

옆에 set message 눌러서 다음과 같이 설정해준다

1.5 토큰 발급

issue 버튼을 눌러

channel secret, channel access token 값을 잘 복사해서 따로 저장해둔다.

이값들은 봇의 아이디, 패스워드와 같은 인증수단으로 사용하기 때문에 공개되면 안된다.

2.1 Repl.it 저장소 세팅

https://repl.it/@toomy0toons/LineBot 접속한다

상단에 fork 버튼을 눌러 내 계정으로 복사한다.

2.2 env 파일 변경

좌측 env 파일옆에 아이콘을 누르면 rename 이 있다. 클릭해서 파일 이름을 .env (앞에 . 있음) 으로 바꾼다.

2.3 .env 환경변수 입력

env 파일을 열어 LINE_CHANNEL_SECRET 과 LINE_CHANNEL_ACESS_TOKEN 에 해당하는 값을 넣어준다

3.1 repl.it 코드 실행

run 버튼을 눌러서 실행을 하면 하얀 웹창이 나온다

이 주소창안의 주소를 잘 기억하자 이게 내 서버 주소이다. https://LineBot.toomy0toons.repl.co

3.2 callback 주소 세팅

네이버 라인 창으로 돌아가서 use webhook -> enabled 로 변환 하고 아래 webhook_URL 을 본인 주소 + /callback 입력한다 verify 누르면 안되는게 정상이래.. 그니깐 누르지말자 애들아 누르면 서버터져

3.3 라인앱을 켜서 확인

라인 앱을 켜서 확인해보자. 내가 채팅을 보내면 봇이 그 채팅을 그대로 돌려줄것이다.

4.1 profile 기능 활용하기

코드를 봐보자

@handler.add(MessageEvent, message=TextMessage)
def handle_text_message(event):
  text = event.message.text

handler 라는 기능을 활용하는데, MessageEvent 중에서도 TextMessage 즉 문자메세지가왔을 때 아래의 함수를 실행시켜주는 기능이다. (자동반복된다) 두번째 줄을 보면 text = event.message.text 으로 사용자가 입력한 메세지의 내용을 저장한다.

그 다음 if text == 'profile': profile 이라는 말이 입력 되었으면 밑의 기능을 실행하고,

예약된 명령어가 아닐경우에, 다시 되돌려준다.

  else:
    line_bot_api.reply_message(
      event.reply_token,
      TextSendMessage(text=event.message.text))

앞으로 코딩할때는 elif text = ‘명령어’: 식으로 계속해서 추가해주면된다.

4.2 quick reply 기능 활용하기

봇을 만들 때 입력하기가 귀찮을 수 있다.

이때 quickreply 를 활용할 수 있다.

다음 코드를 잘 붙여넣기 해보자

  elif text == '메뉴':
        line_bot_api.reply_message(
            event.reply_token,
            TextSendMessage(
                text='중식 or 석식?',
                quick_reply=QuickReply(
                    items=[
                        QuickReplyButton(
                            action=MessageAction(label="중식", text="중식")
                        ),
                        QuickReplyButton(
                            action=MessageAction(label="석식", text="석식")
                        ),
                    ])))

위치는 맨밑에 else 와 줄을 맞춰서 넣어 주면 된다.

여기서 label 은 표시되는 메뉴의 이름, text 는 사용자 대신해서 입력되는 말이다.

이외에도 많은 기능잉있어서ㅓ

line-bot-sdk-python/app.py at master · line/line-bot-sdk-python · GitHub 여기 참고

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published