bskyrb 0.1.1 → 0.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- metadata +18 -5
- data/lib/bskyrb.rb +0 -64
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 40ec46f163f09edf3dfb16ad8cacfb7f6e94ca44180e6c81726662e955448333
|
4
|
+
data.tar.gz: 593c0a5c08893dfaab8f0f940a20d60063bad04288fe843b8960845da9615f76
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 0ef42a458f55f1f83427c9799d033dbfeca6ed383b08d1e376edb9ef69d0fe492bf0310d291017fd5291720d372710b397b96887388a8d34f2a65cf1cbcfa2ce
|
7
|
+
data.tar.gz: a30eefe3afdd41403de6e0481dd455f5d2e9480b602064cd39a6e9426c292c6c207fb2e4f3ba90d7b7bf984f8c00c92a4d693cba569060a949fc8c466fd06720
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: bskyrb
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: '0.3'
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Shreyan Jain
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2023-04-
|
11
|
+
date: 2023-04-23 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: json
|
@@ -52,14 +52,27 @@ dependencies:
|
|
52
52
|
- - ">="
|
53
53
|
- !ruby/object:Gem::Version
|
54
54
|
version: '0'
|
55
|
+
- !ruby/object:Gem::Dependency
|
56
|
+
name: httparty
|
57
|
+
requirement: !ruby/object:Gem::Requirement
|
58
|
+
requirements:
|
59
|
+
- - ">="
|
60
|
+
- !ruby/object:Gem::Version
|
61
|
+
version: '0'
|
62
|
+
type: :runtime
|
63
|
+
prerelease: false
|
64
|
+
version_requirements: !ruby/object:Gem::Requirement
|
65
|
+
requirements:
|
66
|
+
- - ">="
|
67
|
+
- !ruby/object:Gem::Version
|
68
|
+
version: '0'
|
55
69
|
description: A script for interacting with bsky/atproto
|
56
70
|
email:
|
57
71
|
- shreyan.jain.9@outlook.com
|
58
72
|
executables: []
|
59
73
|
extensions: []
|
60
74
|
extra_rdoc_files: []
|
61
|
-
files:
|
62
|
-
- lib/bskyrb.rb
|
75
|
+
files: []
|
63
76
|
homepage: https://github.com/ShreyanJain9/bskyrb
|
64
77
|
licenses:
|
65
78
|
- MIT
|
@@ -79,7 +92,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
79
92
|
- !ruby/object:Gem::Version
|
80
93
|
version: '0'
|
81
94
|
requirements: []
|
82
|
-
rubygems_version: 3.4.
|
95
|
+
rubygems_version: 3.4.10
|
83
96
|
signing_key:
|
84
97
|
specification_version: 4
|
85
98
|
summary: Interact with bsky/atproto using Ruby
|
data/lib/bskyrb.rb
DELETED
@@ -1,64 +0,0 @@
|
|
1
|
-
# frozen_string_literal: true
|
2
|
-
|
3
|
-
# require_relative "bskyrb/version"
|
4
|
-
require 'json'
|
5
|
-
require 'net/http'
|
6
|
-
require 'date'
|
7
|
-
module ATProto
|
8
|
-
class Session
|
9
|
-
def initialize(username, password)
|
10
|
-
@atp_host = "https://bsky.social"
|
11
|
-
@atp_auth_token = ""
|
12
|
-
@did = ""
|
13
|
-
@username = username
|
14
|
-
|
15
|
-
data = { "identifier" => username, "password" => password }.to_json
|
16
|
-
|
17
|
-
uri = URI("#{@atp_host}/xrpc/com.atproto.server.createSession")
|
18
|
-
response = Net::HTTP.post(uri, data, 'Content-Type' => 'application/json')
|
19
|
-
|
20
|
-
parsed_response = JSON.parse(response.body)
|
21
|
-
|
22
|
-
@atp_auth_token = parsed_response['accessJwt']
|
23
|
-
|
24
|
-
if @atp_auth_token.nil?
|
25
|
-
raise ValueError.new("No access token, is your password wrong?")
|
26
|
-
end
|
27
|
-
|
28
|
-
@did = parsed_response['did']
|
29
|
-
end
|
30
|
-
def getdid()
|
31
|
-
puts @did
|
32
|
-
end
|
33
|
-
|
34
|
-
def resolveHandle(username) # aka getDid
|
35
|
-
headers = { "Authorization" => "Bearer #{@atp_auth_token}" }
|
36
|
-
|
37
|
-
uri = URI("#{@atp_host}/xrpc/com.atproto.identity.resolveHandle?handle=#{username}")
|
38
|
-
response = Net::HTTP.get(uri, headers)
|
39
|
-
|
40
|
-
return response
|
41
|
-
end
|
42
|
-
def get_skoot_by_url(url)
|
43
|
-
headers = { "Authorization" => "Bearer #{@atp_auth_token}" }
|
44
|
-
|
45
|
-
username_of_person_in_link = url.split('/')[-3]
|
46
|
-
did_of_person_in_link = JSON.parse(resolveHandle(username_of_person_in_link))['did']
|
47
|
-
url_identifier = url.split('/')[-1]
|
48
|
-
|
49
|
-
uri = "at://#{did_of_person_in_link}/app.bsky.feed.post/#{url_identifier}"
|
50
|
-
|
51
|
-
response = Net::HTTP.get(URI("#{@atp_host}/xrpc/app.bsky.feed.getPostThread?uri=#{uri}"), headers)
|
52
|
-
|
53
|
-
return response
|
54
|
-
end
|
55
|
-
|
56
|
-
|
57
|
-
def method_missing(method_name, *args)
|
58
|
-
message = "You called #{method_name} with #{args}. This method doesn't exist."
|
59
|
-
|
60
|
-
raise NoMethodError, message
|
61
|
-
|
62
|
-
end
|
63
|
-
end
|
64
|
-
end
|