投稿時間:2023-02-03 20:17:55 RSSフィード2023-02-03 20:00 分まとめ(23件)

カテゴリー等 サイト名等 記事タイトル・トレンドワード等 リンクURL 頻出ワード・要約等/検索ボリューム 登録日
IT ITmedia 総合記事一覧 [ITmedia News] フォロワー数318万人の“地震速報”bot「今後の運用は難しい」 Twitter API有料化の余波大きく https://www.itmedia.co.jp/news/articles/2302/03/news178.html itmedia 2023-02-03 19:41:00
IT ITmedia 総合記事一覧 [ITmedia News] ソラコム上場取り下げ 「市場動向を踏まえ総合的に判断」 https://www.itmedia.co.jp/news/articles/2302/03/news173.html itmedia 2023-02-03 19:10:00
IT ITmedia 総合記事一覧 [ITmedia ビジネスオンライン] 資さんうどん、宮崎市に初出店 テークアウト専用窓口を用意 https://www.itmedia.co.jp/business/articles/2302/03/news169.html itmedia 2023-02-03 19:10:00
IT 情報システムリーダーのためのIT情報専門サイト IT Leaders 医療研究/エネルギー産業を襲った大規模サイバー攻撃、攻撃元は北朝鮮Lazarus Groupと特定─ウィズセキュア調査 | IT Leaders https://it.impress.co.jp/articles/-/24406 医療研究エネルギー産業を襲った大規模サイバー攻撃、攻撃元は北朝鮮LazarusGroupと特定ーウィズセキュア調査ITLeadersフィンランドのセキュリティベンダー、ウィズセキュアWithSecure、年月にFSecureから社名変更は年月日現地時間、年第四半期に同社のリサーチチームが実施したサイバー攻撃動向調査の概要を発表した。 2023-02-03 19:40:00
python Pythonタグが付けられた新着投稿 - Qiita Yolov5を動かしてみた https://qiita.com/sola127/items/fa1dd51d51ae7dc6fdd3 yolov 2023-02-03 19:46:18
python Pythonタグが付けられた新着投稿 - Qiita エンジニアインターン11日目 https://qiita.com/a27879038/items/ab7c423b87061437d111 select 2023-02-03 19:21:33
AWS AWSタグが付けられた新着投稿 - Qiita エンジニアインターン11日目 https://qiita.com/a27879038/items/ab7c423b87061437d111 select 2023-02-03 19:21:33
golang Goタグが付けられた新着投稿 - Qiita Dapr の Actor 機能を試してみる https://qiita.com/fits/items/8b5d809936ea4a9cb91e actor 2023-02-03 19:34:55
golang Goタグが付けられた新着投稿 - Qiita [Go言語] Apple Store Server API を使ってServer Notifications API のテストを要求してみる https://qiita.com/niwa3/items/c9e17cb39171b32544c8 applestoreserverapi 2023-02-03 19:08:07
海外TECH DEV Community Hausmeister: Automating Slack Channel Archiving Using GitHub Actions https://dev.to/frosnerd/hausmeister-automating-slack-channel-archiving-using-github-actions-3e5h Hausmeister Automating Slack Channel Archiving Using GitHub Actions MotivationSlack is a great communication tool offering not only chat functionality but also audio and video calls Threads are a good way to discuss a message topic in greater detail without creating noise in the channel or creating interleaving conversations that are hard to follow However sometimes there are topics to discuss that will take more than a couple of messages In this case you can also utilize temporary public channels Unfortunately Slack does not have built in functionality for temporary channels Adding more and more channels your Slack client performance will eventually grind to a halt especially on mobile Luckily there are apps like Channitor which automatically archive Slack channels after a certain period of inactivity Channitor works great but it misses one feature that is critical for me I only want it to manage a subset of my channels based on the channel name So I decided to quickly build my own Slack app Hausmeister that gets the job done Hausmeister is the German word for janitor The remainder of this blog post will walk you through the steps required to build such an app First we will look at how to set up the Slack App Then we are going to write the app code Finally we will wrap the code in a GitHub action to automate the execution Slack AppTo create a new Slack App simply navigate to and click Create New App Our app will need permissions to perform actions such as joining and archiving channels Those permissions are managed as Bot Token Scopes For our app to work we need the following scopes channels historychannels joinchannels managechannels readchat writeAfter you added the respective scopes they should show up like this Now that we have the scopes defined it is time to install the app in your workspace I generally recommend using a test workspace when developing your app If you are part of a corporate workspace your administrators might have to approve the app If the installation was successful a Bot User OAuth Token should become available You will need this later together with the signing secret which can be obtained from the App Credentials section inside the Basic Information page of your app management UI Hooray We configured everything that is required for our app Of course it is recommended to add some description and a profile picture so that your colleagues know what this new bot is about Next let s write the app code Source CodeOur app will be running on Node js Let s walk through what we need step by step The entire source code is available on GitHub To interact with the Slack APIs we can use slack bolt Additionally we will also install parse duration to be able to conveniently specify the maximum age of the last message in a channel before archiving it For maximum flexibility we will configure the app behaviour through environment variables We need to pass The Bot User OAuth Token HM SLACK BEARER TOKEN This is needed to authenticate the bot with the Slack API The signing secret HM SLACK SIGNING SECRET This is used to validate incoming requests from Slack Our app will not receive any requests because we do not have any slash commands or similar but the Bolt SDK requires us to specify the signing secret A regular expression determining which channels to join and manage HM SLACK SIGNING SECRET This is the cool part The maximum age of the latest message in a channel before it gets archived HM LAST MESSAGE MAX AGE A toggle whether to actually archive channels HM ARCHIVE CHANNELS We can turn this off to perform a dry run A toggle whether to send a message to the channel before archiving it HM SEND MESSAGE Sending a message to the channel indicating why it is being archived gives more context to the members The following listing shows an example invocation HM SLACK BEARER TOKEN xoxb not a real token HM SLACK SIGNING SECRET abcdefgnotarealsecret HM CHANNEL REGEX temp HM LAST MESSAGE MAX AGE d HM ARCHIVE CHANNELS true HM SEND MESSAGE true node index jsNote that passing the credentials via environment variables comes with certain risks Depending on how you are deploying your application you might want to mount secrets via files instead Let s get into the code The app is so simple we will be able to fit everything into a single index js file The following listing contains the entire app It still has two function stubs which we will implement in the following paragraphs const App require slack bolt const parseDuration require parse duration const app new App token process env HM SLACK BEARER TOKEN signingSecret process env HM SLACK SIGNING SECRET const sendMessage process env HM SEND MESSAGE const archiveChannels process env HM ARCHIVE CHANNELS const channelRegex process env HM CHANNEL REGEX const lastMessageMaxAge parseDuration process env HM LAST MESSAGE MAX AGE console log Archiving channels matching channelRegex with no activity for lastMessageMaxAge ms const listChannels async listOptions gt TODO const processChannel async c gt TODO async gt const listOptions exclude archived true types public channel limit const channels listChannels listOptions const matchingChannels channels filter c gt c name match channelRegex null console log Found matchingChannels length matching channels await Promise all matchingChannels map processChannel First we import our dependencies and parse the configuration from the environment The main part consists of one async function that we immediately invoke This is needed because the Slack API invocations are happening asynchronously Inside the main function we first obtain a list of all public non archived channels We then filter out all channels that do not match the provided regular expression Finally we go through all matching channels and process them Next let s implement listChannels Listing channels can be done via the conversations list API The code is slightly more complex than simply invoking the respective method via the SDK because we need to handle pagination in case there are more than a handful of channels const listChannels async listOptions gt const channels let result await app client conversations list listOptions result channels forEach c gt channels push c while result response metadata next cursor console log Fetched channels length channels so far but there are more to fetch result await app client conversations list listOptions cursor result response metadata next cursor result channels forEach c gt channels push c return channels Now that we have a list of channels let s implement processChannel This function will execute the following steps Join the channel if the bot is not already a member This is required in order to perform other channel actions later on Get the last message posted in the channel If the last message is older than the maximum age send a message to the channel if enabled archive the channel if enabled const processChannel async c gt const getLastMessage async channelId gt TODO const now Date now const channelName c name c id if c is channel if c is member console log Joining channel channelName await app client conversations join channel c id console log Getting latest message from channel channelName const lastMessage getLastMessage c id const lastMessageTs lastMessage ts we want ms precision const lastMessageAge now lastMessageTs if lastMessageAge gt lastMessageMaxAge console log In channel channelName the last message is lastMessageAge ms old max age lastMessageMaxAge ms if sendMessage true console log Sending message to channel channelName await app client chat postMessage channel c id text I am archiving c name because it has been inactive for a while Please unarchive the channel and reach out to my owner if this was a mistake if archiveChannels true console log Archiving channel channelName await app client conversations archive channel c id else console log Not doing anything with channelName as there is still recent activity Joining a channel can be done via conversations join Getting the latest message requires calling conversations history but there is one minor detail we need to handle so we will implement this in a separate function Sending a message to a channel can be done via chat postMessage Archiving a channel happens via conversations archive When the bot joins the channel Slack will automatically send a join notification to the channel If we simply obtained the latest message from the channel when running the app for the first time we would not be able to archive anything because the bot joined the channel To solve this problem yet keep things simple I decided to simply skip over the latest message if it is of type channel join const getLastMessage async channelId gt const messages await app client conversations history channel c id limit let lastMessage messages messages if lastMessage subtype channel join amp amp messages messages length gt If the most recent message is someone joining it might be us so we look at the last but one message lastMessage messages messages return lastMessage Of course this might have been a real user joining the channel but if the only activity in a temporary channel is that one person joined I am still okay with archiving it Now with the code being complete let s build a GitHub Action workflow that will execute it on a daily basis GitHub ActionTo set up our GitHub Action workflow we create a new YAML file in github workflows with the following content name Runon schedule cron workflow dispatch jobs run runs on ubuntu latest steps uses actions checkout v with repository FRosner hausmeister ref eddbfccceeaaf uses actions setup node v with node version run npm ci env HM SLACK BEARER TOKEN secrets SLACK BEARER TOKEN HM SLACK SIGNING SECRET secrets SLACK SIGNING SECRET HM CHANNEL REGEX temp HM LAST MESSAGE MAX AGE d HM ARCHIVE CHANNELS true HM SEND MESSAGE true run node index jsWe configure on schedule with the cron expression which will run the workflow on a daily basis Thanks to on workflow dispatch we can also trigger it manually The job configuration is fairly simple First we check out the Hausmeister repository then we install Node js then install the required dependencies and finally execute index js The required credentials can be added as encrypted secrets Once the secrets are created and the workflow definition file is committed and pushed you can manually trigger a run or wait for the scheduled execution That s it We built a simple yet super useful Slack app with a few lines of JavaScript code and GitHub Actions ReferencesSlack EtiquetteSlack Bot Token DocumentationSlack API DocumentationRequesting Slack App ScopesHausmeister GitHub RepositoryChannitorThe Twelve Factor App ConfigCover image built based on images from Roman Synkevych and Hostreviews co uk 2023-02-03 10:30:10
Apple AppleInsider - Frontpage News Apple will update HomePod mini, AirPods Max in 2024, says Kuo https://appleinsider.com/articles/23/02/03/apple-will-update-homepod-mini-airpods-max-in-2024-says-kuo?utm_medium=rss Apple will update HomePod mini AirPods Max in says KuoAnalyst Ming Chi Kuo says he now expects that Apple will follow the new HomePod with a refresh of most of its audio devices but not until the second half of While Apple s release of the revised HomePod ーavailable from February ーwas mostly a surprise there have continually been rumors about other devices like a HomePod mini Now Kuo says that he expects there will be a HomePod mini but not for more than a year Read more 2023-02-03 10:28:54
海外TECH Engadget Google's February 8th event will focus on 'Search, Maps and beyond' https://www.engadget.com/google-holding-event-next-week-on-search-maps-and-beyond-103745759.html?src=rss Google x s February th event will focus on x Search Maps and beyond x Google has announced that it s holding a streaming event called Live from Paris that will be all about Search Maps and beyond set to be livestreamed on YouTube on February th We re reimagining how people search for explore and interact with information making it more natural and intuitive than ever before to find what you need the description reads nbsp Hopefully the beyond part will shed some more light on its plans for a ChatGPT rival During Google s earnings call yesterday Pichai finally addressed Google s own plans for an AI chat system In the coming weeks and months we ll make these language models available starting with nbsp LaMDA so that people can engage directly with them he said Google also plans to bring those AI tools to businesses developers and Alphabet s own internal operations Last month Google CEO Sundar Pichai reportedly declared a code red over OpenAI s ChatGPT due to its potential threat to Google s search dominance Notably Microsoft is a large investor in ChatGPT and plans to integrate the AI into its Bing search engine to provide more understandable and human like results Google was said to be planning to show off its AI tools at its I O event which usually takes place in May It s possible though that the company wants get well ahead of any criticism that it s behind OpenAI in the natural language chatbot race nbsp On the other hand the event might be strictly focused on Search and Maps ーcore products used by a lot of people In the thumbnail above Google also hints at news about Lens Shopping and Translate The event will be livestreamed on YouTube on February th at AM ET nbsp 2023-02-03 10:37:45
医療系 医療介護 CBnews 赤字の老健が3分の1に、21年度-赤字割合、2年間で12ポイント増 https://www.cbnews.jp/news/entry/20230203193105 介護老人保健施設 2023-02-03 19:45:00
海外ニュース Japan Times latest articles Japan’s fourth quarter economic growth likely rebounded on tourism reopening https://www.japantimes.co.jp/news/2023/02/03/business/japan-economy-growth-tourism/ Japan s fourth quarter economic growth likely rebounded on tourism reopeningSigns of stronger momentum heading into could influence major companies and workers in Japan as they head into annual labor talks 2023-02-03 19:08:24
ニュース BBC News - Home Disgraced pop star Gary Glitter freed from prison https://www.bbc.co.uk/news/uk-64509245?at_medium=RSS&at_campaign=KARANGA disgraced 2023-02-03 10:52:46
ニュース BBC News - Home Nicola Bulley: Missing mother's partner says she's vanished into thin air https://www.bbc.co.uk/news/uk-england-lancashire-64509889?at_medium=RSS&at_campaign=KARANGA riverside 2023-02-03 10:44:21
ニュース BBC News - Home Chinese spy balloon: US tracks suspected surveillance device https://www.bbc.co.uk/news/world-us-canada-64507225?at_medium=RSS&at_campaign=KARANGA device 2023-02-03 10:26:06
ニュース Newsweek 乗客をまとめて検便します...米CDCが飛行機トイレ汚物の解析を検討中 https://www.newsweekjapan.jp/stories/world/2023/02/cdc-26.php 海外からのウイルスに本領発揮ウイルスの傾向を把握するプログラムとしてはすでに、下水をサンプリングして地域の感染状況を把握するしくみが試行されている。 2023-02-03 19:30:18
仮想通貨 BITPRESS(ビットプレス) マーキュリー、2/26まで「初めてのステーキング応援キャンペーン」実施 https://bitpress.jp/count2/3_14_13544 応援 2023-02-03 19:52:36
仮想通貨 BITPRESS(ビットプレス) 楽天ウォレット、2/15に「2023年末予想、ビットコインは400万円!~暗号資産図鑑NFT無料配布します」開催 https://bitpress.jp/count2/3_15_13543 無料配布 2023-02-03 19:43:04
IT 週刊アスキー ルドル・フォン・シュトロハイムが『ジョジョの奇妙な冒険 オールスターバトル R』に参戦! https://weekly.ascii.jp/elem/000/004/123/4123449/ esxsxboxonepcsteamwindows 2023-02-03 19:45:00
IT 週刊アスキー リンクスインターナショナル、ピラーレス式パノラマ強化ガラス搭載のミドルタワーPCケース「HYTE Y40」発売 https://weekly.ascii.jp/elem/000/004/123/4123447/ hytey 2023-02-03 19:30:00
IT 週刊アスキー 世界のびっくり建築7選、二重らせん構造の橋から樹木ポッドのビルまで【アラップに聞く】 https://weekly.ascii.jp/elem/000/004/123/4123080/ 二重らせん 2023-02-03 19:20:00

コメント

このブログの人気の投稿

投稿時間:2021-06-17 05:05:34 RSSフィード2021-06-17 05:00 分まとめ(1274件)

投稿時間:2021-06-20 02:06:12 RSSフィード2021-06-20 02:00 分まとめ(3871件)

投稿時間:2020-12-01 09:41:49 RSSフィード2020-12-01 09:00 分まとめ(69件)