プログラミング

ポート開放するコマンド

CentOS7でのポート開放するコマンド(firewall使用)

この記事はよぽんがメモとして使用するため、解説等はありません。

[root@yoponvps ~]# firewall-cmd --permanent --add-port=8080/tcp
success
[root@yoponvps ~]# firewall-cmd --reload
success

C#で作ったスクリーンショッターの更新をしました!

こんにちは!よぽんです。
今回は、前回紹介しました

https://blog.yopon.jp/post-202/

この記事のものから少し改良したのでお知らせします。
まず、今のデザインはこんな感じです。

機能的には、
 クリップボード・・・クリップボードにある写真をアップロードする機能
 画面全体・・・メインのディスプレイをスクリーンショットしてアップロードする機能
 写真選択・・・選択したファイルをアップロードする機能
 過去ログ表示・・・過去にアップロードした画像をすべて表示する
こんな感じです。

まだダウンロードが終わってない方は是非どうぞ!!

https://blog.yopon.jp/download/screens/

C#でスクリーンショッター作ってみた

こんにちは!よぽんです。
今回は、C#で画面をスクリーンショットして自動的によぽんのクラウドにアップロードするという素晴らしいソフトを作ったので紹介します。
今は画面全体しか対応していませんが、アップデートを積み重ねて選択できるようにします。
メイン画面のデザインはこんな感じです。

結構シンプルですね。
撮影はこんな感じです。
https://p.yopon.jp/p/987179608/20190505111425.png

撮影後はこのテキストボックスに画像URLが表示されます。横のコピーボタンを押すとURLをコピーします。
また、撮影後自動的にブラウザが開いてこのURLが開かれます。

現在はまだバグがあるかもしれません。バグがあればコメント欄にて教えてください。お願いします。ダウンロードは下記よりお願いします。

https://blog.yopon.jp/download/screens/

Discord.jsでEmbedのグローバルチャットを作る

この記事はQiitaに投稿していたもので人気があったためこちらのブログでも公開します。

概要

よくあるグローバルチャット(パブリックチャットとも言う)の作り方のソースコードを書きます。
※インストール内容はCentOS7の環境での方法を紹介します。CentOS7以外のインストール方法は調べてインストールしてください。

Node.jsのインストール方法

下の2つのコマンドを実行するだけです。

curl --silent --location https://rpm.nodesource.com/setup_8.x | sudo bash -
sudo yum -y install nodejs gcc-c++ make

Discord.jsのインストール方法

下の1つのコマンドを実行するだけです。

npm install discord.js

Botアカウントの作成方法とサーバーへの追加方法

Botアカウント作成方法

ここ (https://discordapp.com/developers/applications/)からDiscordの開発者ページにアクセスして、「New App」をクリックします。
「NAME」にBotの任意の名前を入れて「Create」を押すとアプリができます。
アプリを作成したら、Botを作ります。右にある「Bot」をクリックして、「Add Bot」を押すことでBotを作ることができます。
最後にTokenの下にある「Copy」ボタンを押してメモ帳にペーストしておいてください。後で使います。このTokenは晒すとBotが乗っ取られるので注意です。

サーバーへの追加方法

右にあるOAuth2をクリックして下にある「Bot」というボタンをクリックします。すると新しい項目がでてくるのでそこで管理者を渡しておくと今後何でもできるので「管理者」をクリックします。チェックが付けばOKです。その後にBotと選択した項目の下にとURLが出てくるので、ブラウザのアドレスバーにコピーして開きます。「Botを追加します。」とでてくるのでサーバを選択して「認証」を押すと完了です。
Botの招待には招待するサーバーで管理者権限が必要です。

コードを書いていく

次に本題のコードを書いていきます。まず、Botを作るフォルダーにApp.jsというファイルを作ってソースコードエディタ(おすすめはVisual Studio Code)を使ってApp.jsを開きます。その中に下記のコードを入力します。

const Discord = require('discord.js');
const client = new Discord.Client();

client.login("<Token>");

client.on('message', message =>
{
    if (message.channel.name === 'チャンネル名')
    {
        if (message.author.bot) return;
        if (message.attachments.size <= 0)
        {
            message.delete()
        }
        client.channels.forEach(channel =>
        {
            if (message.attachments.size <= 0)
            {
                const embed = new Discord.RichEmbed()
                    .setAuthor(message.author.tag, message.author.avatarURL)
                    .setDescription(message.content)
                    .setColor(0x2C2F33)
                    .setFooter(message.guild.name, message.guild.iconURL)
                    .setTimestamp()
                if (channel.name === 'チャンネル名')
                {
                    channel.send(embed)
                    return;
                }
                return;
            }
            if (!message.attachments.forEach(attachment =>
            {
                const embed = new Discord.RichEmbed()
                    .setAuthor(message.author.tag, message.author.avatarURL)
                    .setImage(attachment.url)
                    .setDescription(attachment.url)
                    .setColor(0x2C2F33)
                    .setFooter(message.guild.name, message.guild.iconURL)
                    .setTimestamp()
                if (channel.name === 'チャンネル名')
                {
                    channel.send(embed)
                    return;
                }
                return;
            }));
            return;
        });
    }
})

チャンネル名のところはグローバルチャットにしたいチャンネル名を決めてください。
Tokenはさっきメモ帳にコピーしたTokenをここに貼り付ける
これで保存してください。

早速Botを起動してみよう!

早速Botを起動してみましょう。起動もコマンド1つでできます。

node App.js

これで完成です。みなさんもぜひ試してみてください!
なにか間違い等あれば admin@yopon.cf までお願いいたします。

Botサンプルを用意しました。ぜひご使用ください。

https://discordapp.com/api/oauth2/authorize?client_id=559985159068319746&permissions=8&scope=bot

チャンネル名は discordjsでembedのグローバルチャットを作る です。

Node.jsからTwitterにつぶやく

※インストール手順はCentOS7環境で行います。

1. 最初にNode.jsをインストール

最初にNode.jsをインストールします。
下記の2つのコマンドでできます。

curl --silent --location https://rpm.nodesource.com/setup_8.x | sudo bash -
sudo yum -y install nodejs gcc-c++ make

2. 必要なパッケージをインストール

下記のコマンドを実行してください。

npm install twitter
npm install fs

3. Twitterのアクセストークンを取得

取得方法はここでは説明しません。
こちらのサイトより登録してください。
https://apps.twitter.com/

登録方法の解説はこちらを御覧ください
https://qiita.com/kngsym2018/items/2524d21455aac111cdee

4. Twitterのトークンファイルを作る

まず secret.json というファイルを作ってその中にこのコードを書いてください。

{
"consumer_key" :"先ほど取得したConsumer Key(API key)の値",
"consumer_secret" :"先ほど取得したConsumer Secret(API Secret)の値",
"access_token_key" :"先ほど取得したAccess Tokenの値",
"access_token_secret" :"先ほど取得したAccess Token Secretの値"
}

かけたらsecret.jsonを保存して終了します。

5. さっそくコードを書いてみる

次に本題のコードを書いていきたいと思います。まず App.js というファイルを作ってその中にコードを書きます。基本コピペでいいと思います。

const twitter = require("twitter");
const fs = require("fs");
const twitter1 = new twitter(JSON.parse(fs.readFileSync("./secret.json","utf-8")));
twitter1.post('statuses/update', {status: ここにツイートする内容を書く}, function(tweet){
console.log(tweet);
});

このコードだけでできます。

6. 最後に

このコードを使えばもっともっといろいろなことができると思うのでみなさんもこのコードを使って頑張ってみてください!