キモオタクの部屋

終わりかけの大学生のブログ。不定期に更新します。

Chat-GPTとDiscord上で会話する【Discord.py】

こんばんは。キモオタクと申します。

何番煎じだよって感じのネタですが、やっていきます。よろしく~

Google Cloud + Ubuntu22.04 + Python + discord.py + openaiを使います。

GCP無料枠を用意する

今ってGCPって言わないんだね、Google Cloudなんだね…。(2023/03/10追記 普通にGCPって単語は使われていました。恥かいたわ)いつものe2-microを用意します。10年前はクラウドでこのスペックのサーバを借りると、毎月1000円ぐらいかかった気がします。いい時代になったもんだ

なんかミスってる気がするけどええか

pipをインストール

ubuntuくん、python3は標準で入っているのにpipが入っていなかったからインストール。尋常のコマンドを叩いても入らなかったためUbuntuでpip/pip3がインストールできないときの対処法 | Pythonを参考に導入。

ライブラリを導入

#discord.py
python3 -m pip install -U discord.py

#openai
python3 -m pip install openai

discord.py関係

とりあえず、いつものやつを動かしてみる。

# This example requires the 'message_content' intent.

import discord

intents = discord.Intents.default()
intents.message_content = True

client = discord.Client(intents=intents)

@client.event
async def on_ready():
    print(f'We have logged in as {client.user}')

@client.event
async def on_message(message):
    if message.author == client.user:
        return

    if message.content.startswith('$hello'):
        await message.channel.send('Hello!')

client.run('your token here')

このサンプルコードはdiscord developers portalの設定を弄らないと動かなかったりするらしいです。

Botタブの中
まあ普通に動かすと、Botから反応が返ってくるようになります。

openai

【最新速報】ChatGPT APIの「概要と使い方」(Pythonコード付き)からコピペしています。

import openai
openai.api_key = "sk-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"

res = openai.ChatCompletion.create(
   model="gpt-3.5-turbo",
   messages=[
       {
           "role": "system",
           "content": "日本語で返答してください。"
       },
       {
           "role": "user",
           "content": "What is AI?"
       },
   ],
)
print(res)
print(res["choices"][0]["message"]["content"])

こんな短いコードで動くの、便利~~~~
今さらですが、chat gpt apiは1000tokenで0.2円です。tokenって何?出力1文字で1tokenってこと?と最初は思いましたがそうではなく、ユーザから受け取ったテキストであったり出力文であったりを合算したポイントっぽいです。150字ぐらいのプロンプトで大体100~200tokenを消費していました。そんで$18.00まではフリートライアルとしてタダで使えるので、お金を払わなくても結構遊べます。やった~

上記を参考に適当に動かす

github.com

はい。せっかくなのでNOeSISの求聞持空子の人格を注入して動かしてみましょう。

低品質ななりきりアカウントと会話している気分になりました。空子ちゃんに対する俺の「理解」が浅いのか、プロンプトが悪いのか、空子ちゃんの性格が意味不明すぎるのかわかりませんが、この方向性は諦めて普通にChatGPT on Discordとして運用しようと思います。

人格を剥がされたAI

まとめ

手癖で作業を進めたせいで、モダンとは言い難いものばっかり使ってしまいました。discord.pyに至っては開発終了しているらしいですね。どひゃ~~
つまらない内容&ありふれた内容の記事を読んでいただきありがとうございました。ほなまた。

FTB Infinity Evolvedを完走しました

これは半年前に書いて公開するタイミングを逸した記事です。お蔵入りにするのももったいないと思い、公開に至りました。

 

お久しぶりです、キモオタクです。

 

いや~本当に久しぶりですね。8月は本当に忙しくて「週1更新の契り」を守ることができないぐらい時間がありませんでした。まあ9月に入ってやっと作業が一段落し、こうして筆を執る時間を確保できたという次第です。

 

え?何で忙しかったかって?

ううう…



 

 

タイトル通り、FTB Infinity Evolvedです。The Everlasting Guilty Poolを頑張って制作していました。

 

ここから先は「キモオタク」な話なので、毎日お風呂に入っている方々が読んでも得られるものは多分ありません。ご清読ありがとうございました。

 

思考は盗聴され、レシピは改変される

この環境では、様々な要素がレシピ改変によって破壊されています。

 

例えば原木から木材が2個しか作れなかったり、

 

木材2個からは当然棒2本だったり、といった基本的なところから始まり

 

みんなのお友達Alloy Smelterのコストが何か変なことになってるのはもちろん

 

Awakend Draconic Coreとか何かすんげ〜面倒になってます。

 

と、作りたいもののコストと手間が全体的に跳ね上がっており、特に問題なのは「複数のmodの中間素材を要求してくる」という点です。例えば魔術やりたいな~と思ったら、BotaniaThaumCraftWitcheryBloodMagicをまんべんなく進めなければいけません。別modの要素を同時進行で攻略するわけですから、必然的に多種多様な素材を集めるためにワールドを駆け回るハメになり、インベントリはよくわからないmodのよくわからない中間素材で満たされます。クソが。

 

その代わり、9x9作業台でクリエイティブモードでしか本来出せないアイテムを制作できるので、それを目指すのが本modpackのゲーム性となっております。

 

つよかったもの

このmodpackを進めるにおいて、この要素は強かったな、作ってよかったなと思ったものをつらつらと上げていきます。draconic EvolutionとかAE倉庫とか、いついかなる時でも強いものは除外して話します。

 

Forestry for Minecraftの植林場

FFM植林場、使ったことありますか?私はありませんでした。

なぜならminecraft 1.7.10環境下だと大体mfrが入っているので、そっちの高機能な機械を使えばいいんですよ。しかしInfinityはプラスチックを作るのにロケット燃料が要求されており(何で?)序盤に楽には自動化はさせないぞというmodpack製作者の漆黒の意志を感じていました。

そんな環境下でほぼ唯一楽に作れそうだったのがFFM植林場で、サーバーに参加しているマイクラオタクの友達がそれに目をつけ作っていました。肥料を常時要求するという取り回しの悪さから敬遠していたのですが、実際に動かしてみるとほとんど肥料を使わなかったです。現実時間で4,5日に1回補充するぐらいで全然ブリマギに稼働していました。

これで最小サイズらしい。

CCのturtle

これはまあ知ってた。って感じですが、やはりプログラムを書けばその通りに動くturtleはどこまでいってもOPです(設定に手間がかかるので他のmodで自動化できる要素ではなるべく使いたくないですが)。

序盤の農業やゴムの木植林の自動化から始まり、Pure Daisy周りを勝手にやってくれたり、銀→ミスリル変換やAwakened Draconium Block自動製作にいたるまで、少し面倒な作業をturtle単体でやってくれるのはあまりにも楽でした。プレイヤーに単純作業丸投げしてるようなもんだもんな…

 

TharmalExpansionのTesseract

Tesseract最強!!

エネルギーに関してはIOの速度制限なし、維持コストもなくチャンネル数も無限大。私は今まであまり触れてきませんでしたが便利of the year受賞です。終盤のワールドではアイテム・液体・エネルギーのやり取りはほぼ全てTesseractで行っていました。何ならAE倉庫からTesseractを完全自動クラフトできるようになっていました。

 

まあ大幅なレシピ改変を受けているのでね。一個一個手作りは面倒すぎる。

Ender IOのEnderiumとOctatic Capacitor、FFMのEnder Electron Tube、IC2のTeleporter。そしてできるのはThermal ExpansionのTesseract Frame。こんな感じで計4つのmodを横断したレシピとなっております。これもうわかんねえな?

ic2のEjector Upgrade・pulling Upgrade

これもTesseractと同じで、「僕が今まで使ってこなかったけど便利だったシリーズ」です。搬出搬入面を設定できたり、アイテムの受け渡しが爆速だったりと、本当に意外と便利。

IC2の加工機械はOver Clock Upgradeをたくさん詰めるので、中盤から終盤にかけて多用していました。加工速度は正義。

 

rftoolsの次元作成要素

強い強いと聞いてはいたのですが、自分で触ってみると鬼のように強い。世界を創る事ができるだけあって、触り始めると世界が変わります。皆さんご存知液体Matterの世界やエンダードラゴン無限湧きの世界ももちろん作りました。

バケツ55,000杯分の液体mattar。イリジウムプルトニウムぐらいにしか使いませんでしたが、これをもっと活用すれば楽だったかもしれません。

い つ も の

多分300匹ぐらいシバきました。

 

何がやばいって、「あー〇〇(鉱石)が足りないなー」ってなったら普通掘りに行くとか、クアーリー動かすとかするじゃないですか。Dimention Builderが稼働していると「〇〇のみで構成された世界を作ってそこを掘り抜こう」ってなるんですよ。パワープレイの極みですがこれの効率が異様なので、本拠点には使い切れないぐらいある資材が数種類あります。

 

ネザースター発電

exu2のネザースター発電機は1基で4,000RF/tですが、本環境は1.7.10。つまり修正前の無印exuが導入されているので

 

1基で40,000RF/t

 

という驚異的な発電量を叩き出します。さらにネザースター1個で2分も持つんだぜ…?ビックリアクターなんて作ってる場合じゃない。

 

当サーバーでは8倍圧縮のネザースター発電機を2,3基並べて、適当にDEの2兆RF蓄電器に流し込んでいました。

こんな見た目ですが100万RF/tぐらいの発電量を誇る施設です。

そしてこれが2兆RF。

 

ケーキ炉

Thaumic TInkerとBotaniaが入っている環境下でやるべきことは一つです。

 

水をケーキにする炎(?)でケーキを量産し、ケーキからマナを生産する花(??)で大量のマナを生産する。

 

つい最近まで「ケーキ炉最強!wイクイクイクイク」と思っていたのですが、よく考えると

①水がケーキに変換される速度は一定ではない

②ケーキの生産量が消費量より多くなると水源が枯渇して動作を停止する

という性質があります。そのためケキラムス1基1基を最大効率で動かすことができないため、実はそこまで超効率ではない…のかもしれません。

 

Immersive EngineeringのWireによるRF→EU変換

本来RFとEUは変換不可なので、別口で発電機を用意する必要があります。しかし本環境は1.7.10(10行ぶり2度目)。なんとIEの電線を通すことで変換ができるのです。

まあ強かったのですが、終盤は普通にquantum solar並べたほうが強かった気はします。電線の限界で、1面の入力が4096RF、すなわち1024EUに限定されてしまうのが痛い。まあ終盤の終盤までまともなEU発電機(この場合Quantum Solarを指す)を作れないのでうーん…

MFRのRednet Cableのレシピが残っていればこんな問題はなかったんですけどね

 

バリデカいDrawer

youtu.be

資材置場さんの動画で紹介されている、Drawerを馬鹿みたいに敷き詰めることで大容量倉庫として扱う方法です。2x2Drawerは最大強化で1枠に520スタックのアイテムが入ります。それを25x25x25の範囲に詰め込めば62,500種類のアイテムが各33,280個入るクソデカ倉庫が完成する…という話ですね。

パソコンへの負荷を度外視すれば文句なしの最強倉庫です。

 

Culinary Generator

TE4のRedstone Furnaceのモジュールで、「食べ物」を焼いた際の生成物を2倍にする、というアップグレードが存在します。この環境ではEIOのSAG Millで小麦を砕くことで小麦粉が2つ手に入り、それをアップグレード済みRedstone Furnaceで焼くことでパンが2つ、パンを更に焼くことでトーストが2つ手に入るので小麦1つからトーストが8枚作れます。ちなみにトーストの回復量は牛ステーキと同じです。何で?

中盤はトーストをexuのCulinary Generatorにぶち込んで発電していました。64倍圧縮で1800RF/tなので悪くなかったです。

 

つらかったこと

ThaumCraftの研究

ガチであのパズルと言う名の苦行をやりたくなかったので、全部友達に押し付けました。Ichoriumの杖がエンドコンテンツに要求されているので、嫌でもやらなければいけません。

 

BotaniaのLooniumがない

ダンジョンチェストからIridiumが出る→無理してでもLooniumを作ればIC2スキップできるのでは?という浅はかな考えから序盤はBotaniaを進めていましたが、そんなうまい話があるわけはなく…

当然の権利のようにレシピが削除されていました。とほほ

 

Dimletガチャ

RfToolsの次元作成要素、その核となるのがDimletです。語弊を恐れず言えばmystcraftのページなのですが、高レアリテティ(Tier6)のDimletが出ないこと出ないこと…

ドラゴン自然スポーンの世界やUU-Matterで満たされた世界などを創るためのDimletはTier6となっているので、気合で出すしかありません。

エンダーマンのレアドロップから入手する方向性で、DEのStabilized Spawnerで集めていたのですが、現実時間の3日に1回出るか出ないかでした。ここで1週間ぐらい足止めを食らった気がする…

 

Liquid Void Metal、Liquid terrasteelが固められない

液体のVoid Metalとterrasteelは存在します。この2種は魔術要素のため自動化が面倒&エンドコンテンツでそこそこの量要求されるため、次元作成でそれらの液体で満たされた世界を創るのが正攻法…に見せかけて実はその液体をIngotにする手段がないので、この方法は使えません。頑張ってまじゅちゅ自動化してくださ~~いw(←は?)

友達が液体を汲み上げまくったあとに気がついてキレてました。

 

やらかしたこと

Drawerとexuのかみ合わせの悪さ

ドロワーからexuのtransfer nodeでアイテムを抜くと、サーバーが異様にラグる&1スタック以上の在庫があるアイテムが消滅するという致命的なバグが存在します。

これは序盤にやりかけて、友達に注意されたにも関わらず終盤に完全にやらかしました。ありとあらゆるアイテムの在庫が1スタックぽっきりになったよ!

 

ic2のreplicatorの消費電力は0EUではない。そして電力を流せば流すほど処理速度が上がる(要検証)

UU-matterからあらゆる(あらゆるとは言っていない)素材を作ることができるReplicatorですが、例えばIridium

UU-matterを120mB、EU0%消費して一つ作ることができます。この0%という表示が曲者で、EUを使わないということではないのです。EUを流せば流すほど加工速度は上がるという…

では0%とは何なのか?という話ですが

わかりません。

知ってる人がいたらぜひ俺に教えてほしい。

 

ae2とtinkers constractの相性がとても悪い。smeltaryを自動化しようとしたらFPSが1ケタになった

こんなのわかるわけないだろ 殺すぞ

 

まとめ

つらいつらい、このmodpackは鬼畜だ云々という話を聞いていたので、かなり身構えていたのですが案外やること自体は簡単でした。目標が見えている&Gregの鉱脈のような運要素が少ないため、まあカスのレシピ改変のせいで面倒ではありましたが終始楽しんでプレイできたと思います。

実働2人で1.5ヶ月ぐらいかかったので、1人でも3~4ヶ月あればいけるのではないでしょうか?まあクエストブックは途中から見ないふりをしていたので、全ミッションやるとなるともう少しかかりそうですが…

ここまでお付き合いいただきありがとうございました。質問等あればお気軽にコメントどうぞ。

 

では。

就活雑感

クッソお久しぶりです。キモオタクです。もうどんな文体で書いてたか忘れちゃったよ…(困惑)

 

ブログを更新していない間何をしていたのかと言いますと、大学のゼミモドキに追われていたり、純粋に単位がヤバかったり、就活のための実績づくりをしていたりしました。ごめんにょ

 

そういった臥薪嘗胆の日々を経て、めでたく第一志望の企業から内定が出ました。わ~~~~い。メガベンチャーとかではもちろんないですが、僕の立場からするとかなり高望みした会社から内定を貰えました。ありがたやありがたや…。ということで①就活雑感②今後のブログに対する意思表明を書きたいと思い、筆を執った次第です。

 

①就活雑感

就活していていくつか感じたことをリストアップします。20社ぐらい受けて2割ぐらいから内定、1割ぐらいからお祈り、他は選考道中で辞退した男のたわごとなので、参考にはならないと思います。

Javaが強い

マジで強いね。僕はキモオタクなので、エンジニアとして雇ってもらえるIT業界の企業の選考を受けていたのですが、Javaの強いこと強いこと…。業務内容がJavaであったり、Javaの案件が多かったりと想像の3倍はジャバジャバでした。理由を調べたところ、①大人数での開発に適している、②(作ったシステムを)長く使うのに適している、など、SIとかやるんだったら都合がいいらしいです。へ~~。

 

接客バイトが強い

割と接客バイトの話をするとウケがよかった(気がする)

 

何か作ってると強い

中身スッカスカ、技術的にも低レベルだとしてもなんか作ってるって言うとウケる模様

tengenji.hatenablog.com

tengenji.hatenablog.com

tengenji.hatenablog.com

こんなんでもいいらしい。技術に興味があるアピールができればそれでいい模様…

 

就職エージェント

これね。あんまりいい印象を抱かない人が多いのではないでしょうか。怪しげな企業を勧められたりといったデメリットももちろんありますが、担当のお兄さんが色々せかしてくれるので怠惰なオタクには非常にありがたいシステムでした。ただ、担当してくれる人との相性もあるので、複数のエージェントと契約(?)するべきだとは思います。

 

ブログ消さなきゃよかった~~

このブログの前身となるブログを昔書いていたのですが、恥ずかしくなって消してしまった過去があります。それがあれば今まで作ってきたものの説明ができたのに…。

 

②今後のブログに対する意思表明

書きます。

書かせてください。今後少しは時間的余裕ができると思うので、不定期で技術的な覚書きを増やしていきたいなという所存です。

 

今後ともキモオタクの部屋をよろしくお願いいたします。

尊敬してるブロガー

LoLはガイジでも勝てます

女叩きに始まり女叩きに終わる。常軌を逸した口の悪さは必見。

マンコはコミュニティを壊す(身内用)は本当にためになります。インターネットでコミュニティを築く上で大事なことが詰まっている。

 

ヌポソン半島

日本語ではない。10年前のツイ廃コピペが独自の進化を遂げた感じ。読んでると変な声出ます

 

dekasugirumaraの日記

残念だけど消えたのよね…。モニカを取得するべき理由をもう一度読みたい。

newstopics.jp

「「「「グラブル」」」」といった感じの差別的発言がステキ。

 

ウルリヒトゥレタス

通称レタス。随筆的な語り口がするりと頭に入ってくる。

 

では。

近況報告

こんにちは。キモオタクです。

 

最近は期末テストが近く、それを言い訳に開発をサボる日々を2週間近く送っております。かといってしっかりと勉強をする訳でもなく、ただ時間だけが過ぎていく…

 

私は怪異!学部3年なのに全科目必修男!!なので、本当に追い詰められているのです。ヒリつくね~~

 

8月に入ったら多分元通りの更新ができると思います。乞うご期待。

ひとくちオタク語り②:死霊の盆踊り

こんばんは。キモオタクと申します。

 

オタク語りシリーズ第二弾ということですが、最近よくわからんぐらい寒いのでホラーテイストな話をしましょう。タイトルにもある通り今回は、鬼才エド・ウッドが作りし怪作映画「死霊の盆踊り」についてです。

 

本当に終わらないんだなこれが

 

映画に詳しくなくても、名前ぐらいは聞いたことがあるのではないでしょうか。本当に、本当にクソつまらない映画を作るということで有名なアメリカで最低の映画監督エド・ウッド、その代表作の一つです。

 

大学1年のときにHDリマスター版を劇場で見ましたが、打ちのめされました。こんなにもひどい映画があるのか、と。

 

何がつまらないのか

まず特筆すべきは間のとり方が本当に、絶望的に悪いことでしょう。映像作品はシーンが次々と切り替えられながら話が進んでいきますが、その1カット1カットがアホみたいに長く、間が悪いためひじょ~~~~に冗長に感じさせます。

そして、やっとシーンが変わったと思ったら、次のカットでも画角が変わっただけの同じような映像を見せつけられる… 冗長すぎて体感4.5時間ぐらいありました。本当は92分らしいです。ウケるね。

そして、内容も驚くほど薄いです。とあるカップルがヴァンパイア風(?)の幽霊みたいな男に捕まり、「死霊の盆踊り」の出し物として殺されそうになる…といったストーリーを、エロシーンを練り込み薄く薄く伸ばしたものです。

…と、悪いところを挙げればキリがないのでここらへんにしておきましょう。

 

鬼才・エド・ウッド

ここだけは誤解してほしくないのですが、エド・ウッドの凄まじいところは「決して手を抜いているわけではなく、彼の美学と理念に従って作っている」という点なのです。まあプラン9以降は本当に手抜きらしいですが。決して手を抜いている訳ではない。本当に。ただ、あまりにも、監督の感性が凡人とかけ離れているため評価されないだけなのです。

 

しかし、この映画は頭がおかしくなるぐらいにつまらないのですが、つまらないからこそ、つまらないことによってしか得られない読了感があります。尋常の人間には理解できない、監督の執念にも似た狂気的な「映画に対する熱量」が語りかけてくるのです。この体験はエド・ウッドの映画でしか味わえないでしょう。

 

youtu.be

 

そう、この紹介動画にもあるように、間違いなく「究極の映画体験」なのです。自分の想像を(悪い意味で)超えてくる、究極の映画が助走をつけて殴りかかってくる。苦痛の一言では言い表せない、トリップ的体験。できれば劇場で、皆さまにも味わっていただきたい。

 

おわりに

Orgy of the Deadを死霊の盆踊りって訳したのは天才だと思う。何ならこの映画で一番おもしろい部分だろこれ。

プラン9まだ見てないのでこれから見ようと思います。

ひとくちオタク語り①:サクラダリセット

どうも。キモオタクです。

 

最近気がついたのですが、このブログは「キモオタクの部屋」を名乗っておきながら「キモ」な部分の記事を全く書いていません。これでは技術系ブログを気取りながら全くソースコードを公開しない、謎のブログになってしまいます。

 

ということで、定期的に僕がドはまりしたオタク・コンテンツについて記事に起こしていこうかな、と思った次第でございます。これで技術的なネタがないときでもブログを更新できる…

 

記念すべき第一回は角川スニーカー文庫から出版されている「サクラダリセット」シリーズについてです。

 

サクラダリセット

 

これはアニメ版の画像ですが、私はいわゆる””原作厨””のため、今回は原作のライトノベルの話ですね。

どんな話?

住民の半分ぐらいが何らかの超能力を持っているヤバすぎる町、桜良田。記憶を思い出すというある種の完全記憶能力を持つ主人公・浅井ケイ世界を3日巻き戻す能力を持つヒロイン・春崎美空が、奉仕クラブを通していろいろな問題を解決する話です。

 

特筆すべきはこの物語の中核をなす超能力、そのシステムがひじょ~~~~~に面白いです。

 

例えばヒロインである春崎の能力は「3日間のリセット」であり一見ぶっ壊れですが、自分も含む世界すべてを3日前に戻す、というより再構築するため、春崎自身も再構築され巻き戻したという記憶がなくなってしまいます。欠陥能力やんけ!Charlotteに帰りな

 

そこで主人公の出番です。「記憶を思い出す」という能力の性質上、巻き戻された後に能力を使うことで、再構築前の世界の出来事を知ることができるのです。

 

巻き戻ってるなら記憶もクソもなくないか?と思われるでしょう。しかし春崎の能力は世界の再構築であり、時間を戻しているわけではなく宇宙全体を3日前の状況に復元しているだけ(?)なので時間はそのまま流れているのです。図にするとこんな感じです。

伝わるかな…

2回目の3日間は、時間軸的には1回目の3日間の後に存在しているため、2回目の3日間から見ると「過去」なのです。なので、主人公は再構築前の記憶を取得できるわけですね。

 

このように能力の詳細というか、処理順のようなものが明確に決まっているのが本作の特徴です。できることはできる、できないことはできない。能力が成長しact2になったりすることもありません。

 

主人公と春崎のように、本作は個人の能力としてはイマイチだけど組み合わせると悪さができる、という能力が数多く存在します。この仕様を突いて能力を組み合わせ、現実をバグらせていく感じが読んでいてとてもワクワクする点ですね。カードゲームで製作者が意図していないコンボを見つける、みたいな感覚です。

 

まとめ

まあネタバレはしたくないのでここらへんで話を終わらせますが、「超能力がある現代モノのラノベ」が好きな人にはぜひおすすめしたい作品です。僕が死んだら7巻を棺桶に入れてくれ。

 

全オタク、読め。Kindle版あるぞ。

それでは。