커뮤니티 키워드 알림 - keomyuniti kiwodeu allim

Slack 배우기가 단순해졌습니다. 튜토리얼, 영상, 그리고 팁을 확인하여 작업을 완료하세요.

 2분 내에 학습할 내용: 참여한 채널에서 관심 있는 주제에 대한 알림을 받기 위해 키워드를 설정하는 방법

작업 중인 프로젝트에 대한 최신 정보를 파악하고 Slack 워크스페이스에서 “xyz 프로젝트”(또는 “귀여운 강아지”)에 대한 대화가 진행될 때마다 알림을 받으세요.

시도해 보세요!

  1. 데스크톱에서 오른쪽 상단의 프로필 사진을 클릭합니다.
  2. 메뉴에서 환경설정을 선택하여 알림 환경설정을 엽니다.
  3. 내 키워드에서 알림을 받고 싶은 단어나 문구를 입력합니다.
    커뮤니티 키워드 알림 - keomyuniti kiwodeu allim

누군가가 여러분이 참여한 채널에서 여러분이 설정한 키워드 중 하나를 사용할 때마다 알림을 받게 되고 키워드가 노란색으로 강조 표시됩니다. 키워드는 다음과 같이 강조 표시될 수 있습니다.

커뮤니티 키워드 알림 - keomyuniti kiwodeu allim

자세히 알아보기: Slack 알림 구성에 관한 문서를 참조하세요.

죄송합니다. 문제가 발생했습니다. 나중에 다시 시도해주세요.

토론을 통해 사용 된 언어 등의 정보는 특별한 이유가 없을 경우 기록하지 않는다.로 합의되었습니다. 합의된 부분을 토론 없이 수정할 시 편집권 남용으로 간주되어 제재될 수 있습니다.

아래 토론들로 합의된 편집방침이 적용됩니다. 합의된 부분을 토론 없이 수정할 시 편집권 남용으로 간주되어 제재될 수 있습니다.

[ 내용 펼치기 · 접기 ]

토론 - 사용 된 언어 등의 정보는 특별한 이유가 없을 경우 기록하지 않는다.


토론 - 텔레그램 시스템 상 봇 계정이 아닌 봇의 등재를 금지한다.


토론 - /help 또는 /start로 사용법을 알 수 있는 경우 별도의 사용법을 기재하지 않는다.


토론 - 합의사항4


토론 - 합의사항5


토론 - 합의사항6


토론 - 합의사항7


토론 - 합의사항8


토론 - 합의사항9


토론 - 합의사항10


토론 - 합의사항11


토론 - 합의사항12


토론 - 합의사항13


토론 - 합의사항14


토론 - 합의사항15


토론 - 합의사항16


토론 - 합의사항17


토론 - 합의사항18


토론 - 합의사항19


토론 - 합의사항20


토론 - 합의사항21


토론 - 합의사항22


토론 - 합의사항23


토론 - 합의사항24


토론 - 합의사항25


토론 - 합의사항26


토론 - 합의사항27


토론 - 합의사항28


토론 - 합의사항29


토론 - 합의사항30


토론 - 합의사항31


토론 - 합의사항32


토론 - 합의사항33


토론 - 합의사항34


토론 - 합의사항35


토론 - 합의사항36


토론 - 합의사항37


토론 - 합의사항38


토론 - 합의사항39


토론 - 합의사항40


토론 - 합의사항41


토론 - 합의사항42


토론 - 합의사항43


토론 - 합의사항44


토론 - 합의사항45


토론 - 합의사항46


토론 - 합의사항47


토론 - 합의사항48


토론 - 합의사항49


토론 - 합의사항50



1. 개요

1.1. 인라인 봇1.2. 텔레그램 봇 목록1.3. 참고


1. 개요[편집]

텔레그램의 봇 목록이다.

1.1. 인라인 봇[편집]

@봇이름을 타이핑후 잠시 기다리면 봇의 기능을 사용할 수 있다.

  • @gif – 움짤 검색

  • @vid 및 @youtube – Youtube 영상 검색

  • @bing – Bing 이미지 검색

  • @pic – Yandex 이미지 검색

  • @wiki – 위키백과 문서 검색

  • @imdb – IMDB 영화 정보 검색

  • @bold – Markdown 봇

  • @vote - 투표 봇

1.2. 텔레그램 봇 목록[편집]

대부분 /help 명령어를 통해 사용법을 볼 수 있다.

  • @Hwan1352bot: 관심종목을 저장하여 쉽게 종목뉴스를 받아온다.

  • @stickers: 공식 스티커봇. 스티커를 제작하거나 편집할 때 사용된다.

  • @namuwikiBot: 나무위키의 항목의 개요를 불러와준다.

  • @webtoon_update_notifier_bot: 네이버, 다음, 케이툰, 버프툰, 레진코믹스, 카카오페이지 웹툰 업데이트 알리미. 자신이 구독한 웹툰의 새 에피소드가 올라오면 알려준다.

  • @channelrushbot: 그룹 메시지를 채널로 자동 포워딩 설정하는 봇. 이 봇과 위의 트위터 구독 봇을 응용하면 간편한 개인 채널 운영이 가능하다.

  • @appzzang_bot: 앱짱닷컴 알림 봇이다.

  • @HangBot: 행맨 게임을 할수있는 봇이다.

  • @animegifbot: 랜덤으로 애니메이션 움짤을 주는 봇이다.

  • @pazudora_bot: 퍼즈도라 데이터 베이스 봇이다.

  • @MrDecisionSE_bot: 대신 결정해주는 봇이다.

  • @jangteo_bot: 국내 각종 커뮤니티의 중고장터의 매물을 검색하여 주는 봇. 일반적인 장터링 앱들이 자체적으로 게시판 검색을 하는 것과는 달리 봇 서버에서 게시판 검색을 하므로 커뮤니티의 서버 부하도 적다고 한다.

  • @TeleSaucenao_bot: SauceNao API를 이용하여 사용자가 보낸 이미지와 유사도가 높은 이미지를 Pixiv, Gelbooru 등에서 검색하여 간략한 정보를 출력해준다. 검색 풀의 특성상 일반 사진은 검색 결과가 없거나 유사도가 낮은 다른 이미지가 나올 수 있다.

    좀 더 자세히 다루겠지만 실시간으로 알림을 받을 수도 있고, 특정 시간동안 몰아뒀다가 한꺼번에 받을 수도 있습니다. 그리고 내가 원한다면 언제든지 앱을 실행해서 수집된 자료들을 열람할 수 있게 만들어 졌더라구요. 이런 본래의 기능에 충실한 어플은 아마 처음이지 않을까 싶네요.

    네이버카페 앱에서 제공하는 특정 키워드를 수신하는 피드방식의 기능이 있는데요. 딸람은 전반적인 모든 포털, 플렛폼, 커뮤니티의 정보들을 긁어 모아 사용자에게 제공해 줍니다.

    선택과 집중을 통해서 알짜배기만 모아서 검색에 소요되는 시간을 획기적으로 줄일 수 있어서 좋았던 것 같아요.

    이번 포스팅에서는 커뮤니티의 특정 '키워드'가 들어간 게시글 알림 받기 를 해보겠습니다.

     

    프로그램 컨셉

    커뮤니티 키워드 알림 - keomyuniti kiwodeu allim

    보배드림 커뮤니티에서 '도와주세요'라는 키워드를 검색하여 나온 새로운 게시글을 주기적으로 받습니다.

    만약 새로운 글이 없으면 '새로운 글 읎따...'라는 응답도 날려주죠:)

     

     

    웹 크롤링 루틴

    1. 보배드림 사이트 접속하기

    https://www.bobaedream.co.kr/

     

    보배드림 - 중고차 플랫폼, 수입차, 수입중고차 및 중고차시세, 내차시세 제공

    중고자동차, 수입차, 외제차, 튜닝카, 스포츠카 매매 및 판매, 중고차시세 제공

    www.bobaedream.co.kr

    2. 검색 돋보기 아이콘 클릭하기

    3. 내가 원하는 키워드 입력하기 (여기선 '도와주세요')

    4. Enter 쳐서 접속하기

    5. '커뮤니티의 더보기' 클릭하기

    6. 게시글 5개의 url 정보 읽어오기

    7. 게시글 5개의 url을 텔레그램에 보내기

    ---- 여기서 부터 계속 반복 (주기는 30분 @Python anywhere) -----

    8. 현재 열려있는 웹사이트 새로고침(F5) 하기

    9. 게시글 5개의 url 정보 읽어오기

    10. 새로운 링크가 있는 지 중복 체크하여 새로운 링크만 저장하기

    11. 10번에 해당하는 링크만 텔레그램에 보내기

     

     

    위 루틴에는 제가 지금까지 포스팅한 내용들이 종합적으로 들어가 있습니다.

    그러니 잘 모르는 부분은 아래 포스팅을 꼭 참고해주세요 :)

     

     

    웹 크롤링 기본 문법

    2021.05.22 - [SW programming/Python] - [Python 웹 크롤링] Selenium 과 BeautifulSoup의 조합

     

    Python anywhere 툴 다루는 법

    2021.05.17 - [SW programming/Python] - [Python anywhere 소개] 어디서든 코드 실행이 가능한 서버 구축

    2021.05.17 - [SW programming/Python] - [Python anywhere 소개] 어디서든 코드 실행이 가능한 서버 구축

    2021.05.27 - [SW programming/Python] - [Python Anywhere] Selenium 모듈 적용하는 법

     

     

    소스 코드

    from selenium import webdriver
    import time
    from bs4 import BeautifulSoup
    import telepot
    #시간 마다 알람 지정용
    from apscheduler.schedulers.blocking import BlockingScheduler
    
    #Selenium @Python Anywhere
    chrome_options = webdriver.ChromeOptions()
    chrome_options.add_argument("--headless")
    chrome_options.add_argument("--disable-gpu")
    driver = webdriver.Chrome(options=chrome_options)
    
    
    #Selenium 자동화_1. 보배드림 사이트 접속하기
    url = "https://m.bobaedream.co.kr"
    driver.get(url)
    
    time.sleep(1)
    
    #Selenium 자동화_2. 돋보기 버튼 클릭하기
    x_path = '//*[@id="bobaeHead"]/div[1]/div/div[2]/div[2]/form/div[2]/button/span'
    searchbox = driver.find_element_by_xpath(x_path)
    searchbox.click()
    #Selenium 자동화_3. '도와주세요' 입력하기
    element = driver.find_element_by_name("keyword")
    element.send_keys("도와주세요")
    #Selenium 자동화_4. 해당 키워드로 접속하기
    element.submit()
    
    #Selenium 자동화_5. '커뮤니티 - 더보기' 클릭하기
    m_morebox = driver.find_element_by_xpath('//*[@id="contents"]/div[6]/a')
    m_morebox.click()
    
    time.sleep(1)
    
    #텔레그램 봇 생성
    token = '본인 대화창 토큰 입력'
    bot = telepot.Bot(token=token)
    
    #스케줄러 생성
    sched = BlockingScheduler()
    
    #기존에 보냈던 링크를 담아둘 리스트
    old_links = []
    
    #링크 추출 함수 #새로운 게시글 정보만 보내기 위함
    def extract_links(old_links=[]):
        
        ##Selenium 자동화_현재 열려 있는 웹사이트 새로고침(F5)하기
        driver.refresh()
        
        html = driver.page_source
        soup = BeautifulSoup(html, 'html.parser')
    
        search_result = soup.select_one('ul.imgList01')  
        news_list = search_result.select('li > a')
        print(news_list)
    
        links = []
        for news in news_list[:5]:
            link = news['href']
            link = url + link
            links.append(link)
    
        print(links)
    
        new_links=[]
        for link in links:
            if link not in old_links:
                new_links.append(link)
    
        return new_links
    
    #이전 링크를 매개변수로 받아서 비교 후, 새로운 링크만 출력
    #차후 이 부분을 메세지 전송 코드로 변경하고 매시간 동작하도록 설정
    #새로운 링크가 없다면 빈 리스트 반환
    def send_links():
        global old_links
        new_links = extract_links(old_links)
        if new_links:
            for link in new_links:
                bot.sendMessage(chat_id='본인 텔레그램 ID 입력', text = link)
        else:
            bot.sendMessage(chat_id='본인 텔레그램 ID 입력', text = '새로운 글 읎따...')
        old_links += new_links.copy()
        old_links = list(set(old_links))
    
    #최초 시작
    send_links()
    
    #스케줄 설정
    sched.add_job(send_links, 'interval', minutes = 30)
    #시작
    sched.start()
    
    

     

    이 기능과 유사한 것으로 카페 앱으로 하는 '키워드 알람'이 있습니다.

    중고나라, 당근 마켓에서 원하는 물품의 키워드 알람을 하면  1초 컷으로 선점할 수 있어 아~~주 유용하게 사용할 수 있죠.

     

    만약 저렇게 키워드 알람을 받고 싶은데 기능을 지원하지 않는다!ㅠㅠ 싶으면 이 방법을 추천드립니다 :)

     

     

    위 글이 도움이 되셨나면, 아래 하트를 눌러주세요↓

    감사합니다 \( ˆoˆ )/​

    반응형

    공유하기

    게시글 관리

    구독하기고양이 미로 🙀

    'SW programming > Telegram bot 프로젝트' 카테고리의 다른 글

    [Python 텔레그램 봇] python-telegram-bot 모듈이란?  (0)2021.06.17[Python 텔레그램 봇] '매일' '1시간 주기'로 단독 뉴스 전해주는 봇 만들기  (0)2021.06.15[Python 텔레그램 봇] - I say '관심 기업', you say '기사 5개' 툭!  (4)2021.05.16[Python 텔레그램 봇] - 원하는 지역의 날씨 정보 알림  (1)2021.05.02